@inkbox/sdk 0.7.10 → 0.7.12

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 (56) hide show
  1. package/README.md +246 -6
  2. package/dist/a2a/resource.d.ts +3 -3
  3. package/dist/a2a/resource.d.ts.map +1 -1
  4. package/dist/a2a/resource.js +3 -0
  5. package/dist/a2a/resource.js.map +1 -1
  6. package/dist/a2a/types.d.ts +8 -1
  7. package/dist/a2a/types.d.ts.map +1 -1
  8. package/dist/a2a/types.js +9 -0
  9. package/dist/a2a/types.js.map +1 -1
  10. package/dist/contacts/types.d.ts +11 -0
  11. package/dist/contacts/types.d.ts.map +1 -1
  12. package/dist/contacts/types.js +5 -0
  13. package/dist/contacts/types.js.map +1 -1
  14. package/dist/identities/resources/identities.d.ts +4 -0
  15. package/dist/identities/resources/identities.d.ts.map +1 -1
  16. package/dist/identities/resources/identities.js +12 -0
  17. package/dist/identities/resources/identities.js.map +1 -1
  18. package/dist/index.d.ts +11 -4
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +2 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/inkbox.d.ts +5 -0
  23. package/dist/inkbox.d.ts.map +1 -1
  24. package/dist/inkbox.js +9 -0
  25. package/dist/inkbox.js.map +1 -1
  26. package/dist/organization_domains/resource.d.ts +15 -0
  27. package/dist/organization_domains/resource.d.ts.map +1 -0
  28. package/dist/organization_domains/resource.js +24 -0
  29. package/dist/organization_domains/resource.js.map +1 -0
  30. package/dist/organization_domains/types.d.ts +46 -0
  31. package/dist/organization_domains/types.d.ts.map +1 -0
  32. package/dist/organization_domains/types.js +20 -0
  33. package/dist/organization_domains/types.js.map +1 -0
  34. package/dist/slack-operations.d.ts +193 -0
  35. package/dist/slack-operations.d.ts.map +1 -0
  36. package/dist/slack-operations.js +255 -0
  37. package/dist/slack-operations.js.map +1 -0
  38. package/dist/slack.d.ts +119 -0
  39. package/dist/slack.d.ts.map +1 -0
  40. package/dist/slack.js +151 -0
  41. package/dist/slack.js.map +1 -0
  42. package/dist/tunnels/client/_runtime.d.ts.map +1 -1
  43. package/dist/tunnels/client/_runtime.js +2 -0
  44. package/dist/tunnels/client/_runtime.js.map +1 -1
  45. package/dist/version.d.ts +1 -1
  46. package/dist/version.js +1 -1
  47. package/dist/webhooks/deliveries.d.ts +5 -4
  48. package/dist/webhooks/deliveries.d.ts.map +1 -1
  49. package/dist/webhooks/deliveries.js +3 -2
  50. package/dist/webhooks/deliveries.js.map +1 -1
  51. package/dist/webhooks/subscriptions.d.ts.map +1 -1
  52. package/dist/webhooks/subscriptions.js +8 -1
  53. package/dist/webhooks/subscriptions.js.map +1 -1
  54. package/dist/webhooks/types.d.ts +54 -0
  55. package/dist/webhooks/types.d.ts.map +1 -1
  56. package/package.json +1 -1
@@ -0,0 +1,193 @@
1
+ /** Scoped Slack utilities, durable actions, and retained history. */
2
+ import type { HttpTransport } from "./_http.js";
3
+ import type { SlackPageOptions } from "./slack.js";
4
+ export type SlackProcessingStatus = "active" | "processing" | "suspended" | "closed";
5
+ export type SlackOperationKind = "reaction_add" | "reaction_remove" | "pin_add" | "pin_remove" | "message_update" | "message_delete" | "file_upload" | "conversation_join" | "conversation_leave" | "processing_status";
6
+ export interface SlackOperation {
7
+ id: string;
8
+ connectionId: string;
9
+ operation: SlackOperationKind;
10
+ status: "in_progress" | "succeeded" | "failed" | "unknown";
11
+ conversationId: string;
12
+ messageTs: string | null;
13
+ fileId: string | null;
14
+ errorCode: string | null;
15
+ retryAfter: number | null;
16
+ processingStatus: SlackProcessingStatus | null;
17
+ agentStatus: SlackProcessingStatus | null;
18
+ }
19
+ export interface SlackCapability {
20
+ requiredScopes: string[];
21
+ missingScopes: string[];
22
+ scopesSatisfied: boolean;
23
+ }
24
+ export interface SlackCapabilitiesResponse {
25
+ connectionId: string;
26
+ scopes: string[];
27
+ missingScopes: string[];
28
+ capabilities: Record<string, SlackCapability>;
29
+ nativeProcessingStatus: "unknown" | "missing_scope";
30
+ maxUploadBytes: number;
31
+ }
32
+ export interface SlackUsersResponse {
33
+ users: Record<string, unknown>[];
34
+ nextCursor: string | null;
35
+ }
36
+ export interface SlackMembersResponse {
37
+ members: string[];
38
+ nextCursor: string | null;
39
+ }
40
+ export interface SlackPinsResponse {
41
+ items: Record<string, unknown>[];
42
+ truncated: boolean;
43
+ }
44
+ export interface SlackReactionsResponse {
45
+ conversationId: string;
46
+ messageTs: string;
47
+ reactions: Record<string, unknown>[];
48
+ }
49
+ export interface SlackMessageContextResponse {
50
+ messages: Record<string, unknown>[];
51
+ nextCursor: string | null;
52
+ hasMore: boolean;
53
+ window: "messages_at_or_before_timestamp" | "messages_at_or_after_timestamp";
54
+ complete: false;
55
+ }
56
+ export interface SlackPermalinkResponse {
57
+ conversationId: string;
58
+ messageTs: string;
59
+ permalink: string;
60
+ }
61
+ export interface SlackArchiveSettings {
62
+ retentionDays: number | null;
63
+ revision: number;
64
+ }
65
+ export interface SlackArchiveSettingsOptions {
66
+ retentionDays?: number | null;
67
+ }
68
+ export interface SlackArchivedMessage {
69
+ id: string;
70
+ connectionId: string;
71
+ conversationId: string;
72
+ messageTs: string;
73
+ threadTs: string | null;
74
+ userId: string | null;
75
+ text: string;
76
+ files: Record<string, unknown>[];
77
+ mentioned: boolean;
78
+ source: "event" | "backfill" | "action";
79
+ capturedAt: Date;
80
+ }
81
+ /** Inclusive oldest scanned list position; not necessarily a returned message. */
82
+ export interface SlackArchivePageBoundary {
83
+ messageTs: string;
84
+ id: string;
85
+ }
86
+ export interface SlackArchiveMessagesResponse {
87
+ messages: SlackArchivedMessage[];
88
+ nextCursor: string | null;
89
+ source: "archive";
90
+ pageBoundary?: SlackArchivePageBoundary | null;
91
+ }
92
+ export interface SlackArchiveCoverage {
93
+ conversationId: string;
94
+ threadTs: string | null;
95
+ status: "observed" | "pending" | "running" | "complete" | "failed" | "paused";
96
+ importedCount: number;
97
+ oldestTs: string | null;
98
+ newestTs: string | null;
99
+ errorCode: string | null;
100
+ updatedAt: Date;
101
+ includesAllThreads: boolean;
102
+ accessRevoked: boolean;
103
+ }
104
+ export interface SlackArchiveCoverageResponse {
105
+ coverage: SlackArchiveCoverage[];
106
+ nextCursor: string | null;
107
+ }
108
+ export interface SlackArchiveMessagesOptions extends SlackPageOptions {
109
+ /** Return the latest matching message per conversation; limit counts conversations. */
110
+ latestPerConversation?: boolean;
111
+ conversationId?: string;
112
+ threadTs?: string | null;
113
+ beforeTs?: string | null;
114
+ afterTs?: string | null;
115
+ }
116
+ export interface SlackArchiveSearchOptions extends Omit<SlackArchiveMessagesOptions, "threadTs" | "latestPerConversation"> {
117
+ userId?: string;
118
+ }
119
+ export interface SlackSearchMessagesOptions extends SlackArchiveSearchOptions {
120
+ q: string;
121
+ identityId?: string | null;
122
+ connectionId?: string | null;
123
+ }
124
+ export interface SlackUploadFileOptions {
125
+ conversationId: string;
126
+ filename: string;
127
+ contentBase64: string;
128
+ idempotencyKey: string;
129
+ title?: string | null;
130
+ initialComment?: string | null;
131
+ threadTs?: string | null;
132
+ }
133
+ export interface SlackMutationOptions {
134
+ idempotencyKey: string;
135
+ }
136
+ export declare class SlackOperationsResource {
137
+ protected readonly http: HttpTransport;
138
+ constructor(http: HttpTransport);
139
+ private mutate;
140
+ capabilities(connectionId: string): Promise<SlackCapabilitiesResponse>;
141
+ listUsers(connectionId: string, options?: SlackPageOptions): Promise<SlackUsersResponse>;
142
+ getUser(connectionId: string, userId: string): Promise<Record<string, unknown>>;
143
+ listMembers(connectionId: string, conversationId: string, options?: SlackPageOptions): Promise<SlackMembersResponse>;
144
+ getMessage(connectionId: string, conversationId: string, messageTs: string, options?: {
145
+ threadTs?: string | null;
146
+ }): Promise<Record<string, unknown>>;
147
+ messageContext(connectionId: string, conversationId: string, messageTs: string, options?: {
148
+ threadTs?: string | null;
149
+ limit?: number;
150
+ }): Promise<SlackMessageContextResponse>;
151
+ getPermalink(connectionId: string, conversationId: string, messageTs: string): Promise<SlackPermalinkResponse>;
152
+ getReactions(connectionId: string, conversationId: string, messageTs: string): Promise<SlackReactionsResponse>;
153
+ listPins(connectionId: string, conversationId: string): Promise<SlackPinsResponse>;
154
+ /** Poll only in_progress. Unknown is terminal uncertainty; never blindly repeat. */
155
+ getOperation(connectionId: string, operationId: string): Promise<SlackOperation>;
156
+ addReaction(connectionId: string, conversationId: string, messageTs: string, name: string, options: SlackMutationOptions): Promise<SlackOperation>;
157
+ removeReaction(connectionId: string, conversationId: string, messageTs: string, name: string, options: SlackMutationOptions): Promise<SlackOperation>;
158
+ addPin(connectionId: string, conversationId: string, messageTs: string, options: SlackMutationOptions): Promise<SlackOperation>;
159
+ removePin(connectionId: string, conversationId: string, messageTs: string, options: SlackMutationOptions): Promise<SlackOperation>;
160
+ /** Slack enforces that the connected agent can only edit its own message. */
161
+ updateMessage(connectionId: string, conversationId: string, messageTs: string, text: string, options: SlackMutationOptions): Promise<SlackOperation>;
162
+ deleteMessage(connectionId: string, conversationId: string, messageTs: string, options: SlackMutationOptions): Promise<SlackOperation>;
163
+ joinConversation(connectionId: string, conversationId: string, options: SlackMutationOptions): Promise<SlackOperation>;
164
+ leaveConversation(connectionId: string, conversationId: string, options: SlackMutationOptions): Promise<SlackOperation>;
165
+ /** Native workspace support is not implied by scopes; unsupported calls remain explicit failures. */
166
+ setProcessingStatus(connectionId: string, conversationId: string, threadTs: string, status: SlackProcessingStatus, options: SlackMutationOptions): Promise<SlackOperation>;
167
+ /** Standard base64 of any file type, bounded to 1 byte..10 MiB decoded. */
168
+ uploadFile(connectionId: string, options: SlackUploadFileOptions): Promise<SlackOperation>;
169
+ getArchiveSettings(connectionId: string): Promise<SlackArchiveSettings>;
170
+ /** Organization management only; set message retention.
171
+ * Omitted retention resets to no time limit. Capture remains automatic for all
172
+ * accessible observed messages, independently of webhook filters.
173
+ */
174
+ updateArchiveSettings(connectionId: string, options?: SlackArchiveSettingsOptions): Promise<SlackArchiveSettings>;
175
+ private archiveMessages;
176
+ listArchivedMessages(connectionId: string, options?: SlackArchiveMessagesOptions): Promise<SlackArchiveMessagesResponse>;
177
+ searchArchivedMessages(connectionId: string, q: string, options?: SlackArchiveSearchOptions): Promise<SlackArchiveMessagesResponse>;
178
+ /** Search retained messages across an identity's workspace connections.
179
+ * Agent credentials infer the identity; other credentials require identityId.
180
+ * Follow nextCursor even when a page is short or empty.
181
+ */
182
+ searchMessages(options: SlackSearchMessagesOptions): Promise<SlackArchiveMessagesResponse>;
183
+ archiveBackfill(connectionId: string, conversationId: string, options?: {
184
+ threadTs?: string | null;
185
+ restart?: boolean;
186
+ }): Promise<SlackArchiveCoverage>;
187
+ listArchiveCoverage(connectionId: string, options?: SlackPageOptions): Promise<SlackArchiveCoverageResponse>;
188
+ /** Organization management only; delete retained history without stopping new capture. */
189
+ purgeArchive(connectionId: string): Promise<{
190
+ status: "pending";
191
+ }>;
192
+ }
193
+ //# sourceMappingURL=slack-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack-operations.d.ts","sourceRoot":"","sources":["../src/slack-operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,255 @@
1
+ const base = (id) => `/slack/connections/${encodeURIComponent(id)}`;
2
+ const conversation = (id, channel) => `${base(id)}/conversations/${encodeURIComponent(channel)}`;
3
+ function timestamp(value) {
4
+ if (value != null && typeof value !== "string")
5
+ throw new TypeError("Slack timestamps must be strings");
6
+ return value;
7
+ }
8
+ const message = (id, channel, ts) => {
9
+ timestamp(ts);
10
+ return `${conversation(id, channel)}/messages/${encodeURIComponent(ts)}`;
11
+ };
12
+ const operation = (r) => ({
13
+ id: r.id,
14
+ connectionId: r.connection_id,
15
+ operation: r.operation,
16
+ status: r.status,
17
+ conversationId: r.conversation_id,
18
+ messageTs: r.message_ts ?? null,
19
+ fileId: r.file_id ?? null,
20
+ errorCode: r.error_code ?? null,
21
+ retryAfter: r.retry_after ?? null,
22
+ processingStatus: r.processing_status ?? null,
23
+ agentStatus: r.agent_status ?? null,
24
+ });
25
+ const settings = (r) => ({
26
+ retentionDays: r.retention_days,
27
+ revision: r.revision,
28
+ });
29
+ const archivedMessage = (r) => ({
30
+ id: r.id,
31
+ connectionId: r.connection_id,
32
+ conversationId: r.conversation_id,
33
+ messageTs: r.message_ts,
34
+ threadTs: r.thread_ts,
35
+ userId: r.user_id,
36
+ text: r.text,
37
+ files: r.files,
38
+ mentioned: r.mentioned,
39
+ source: r.source,
40
+ capturedAt: new Date(r.captured_at),
41
+ });
42
+ const coverage = (r) => ({
43
+ conversationId: r.conversation_id,
44
+ threadTs: r.thread_ts,
45
+ status: r.status,
46
+ importedCount: r.imported_count,
47
+ oldestTs: r.oldest_ts,
48
+ newestTs: r.newest_ts,
49
+ errorCode: r.error_code,
50
+ updatedAt: new Date(r.updated_at),
51
+ includesAllThreads: r.includes_all_threads ?? false,
52
+ accessRevoked: r.access_revoked ?? false,
53
+ });
54
+ export class SlackOperationsResource {
55
+ http;
56
+ constructor(http) {
57
+ this.http = http;
58
+ }
59
+ async mutate(method, path, key, body) {
60
+ if (typeof key !== "string" || !/^[A-Za-z0-9._:-]{1,128}$/.test(key))
61
+ throw new TypeError("idempotencyKey must be 1..128 letters, digits, '.', '_', ':', or '-'");
62
+ const opts = { headers: { "Idempotency-Key": key } };
63
+ const result = method === "DELETE"
64
+ ? await this.http.deleteWithResponse(path, opts)
65
+ : method === "PATCH"
66
+ ? await this.http.patch(path, body, opts)
67
+ : await this.http.post(path, body, opts);
68
+ return operation(result);
69
+ }
70
+ async capabilities(connectionId) {
71
+ const r = await this.http.get(`${base(connectionId)}/capabilities`);
72
+ return {
73
+ connectionId: r.connection_id,
74
+ scopes: r.scopes,
75
+ missingScopes: r.missing_scopes,
76
+ nativeProcessingStatus: r.native_processing_status,
77
+ maxUploadBytes: r.max_upload_bytes,
78
+ capabilities: Object.fromEntries(Object.entries(r.capabilities).map(([name, value]) => [
79
+ name,
80
+ {
81
+ requiredScopes: value.required_scopes,
82
+ missingScopes: value.missing_scopes,
83
+ scopesSatisfied: value.scopes_satisfied,
84
+ },
85
+ ])),
86
+ };
87
+ }
88
+ async listUsers(connectionId, options = {}) {
89
+ const r = await this.http.get(`${base(connectionId)}/users`, { limit: options.limit ?? 100, cursor: options.cursor });
90
+ return { users: r.users, nextCursor: r.next_cursor ?? null };
91
+ }
92
+ async getUser(connectionId, userId) {
93
+ return this.http.get(`${base(connectionId)}/users/${encodeURIComponent(userId)}`);
94
+ }
95
+ async listMembers(connectionId, conversationId, options = {}) {
96
+ const r = await this.http.get(`${conversation(connectionId, conversationId)}/members`, { limit: options.limit ?? 100, cursor: options.cursor });
97
+ return { members: r.members, nextCursor: r.next_cursor ?? null };
98
+ }
99
+ async getMessage(connectionId, conversationId, messageTs, options = {}) {
100
+ return this.http.get(message(connectionId, conversationId, messageTs), {
101
+ thread_ts: timestamp(options.threadTs),
102
+ });
103
+ }
104
+ async messageContext(connectionId, conversationId, messageTs, options = {}) {
105
+ const r = await this.http.get(`${message(connectionId, conversationId, messageTs)}/context`, { thread_ts: timestamp(options.threadTs), limit: options.limit ?? 5 });
106
+ return {
107
+ messages: r.messages,
108
+ nextCursor: r.next_cursor ?? null,
109
+ hasMore: r.has_more ?? false,
110
+ window: r.window,
111
+ complete: r.complete,
112
+ };
113
+ }
114
+ async getPermalink(connectionId, conversationId, messageTs) {
115
+ const r = await this.http.get(`${message(connectionId, conversationId, messageTs)}/permalink`);
116
+ return {
117
+ conversationId: r.conversation_id,
118
+ messageTs: r.message_ts,
119
+ permalink: r.permalink,
120
+ };
121
+ }
122
+ async getReactions(connectionId, conversationId, messageTs) {
123
+ const r = await this.http.get(`${message(connectionId, conversationId, messageTs)}/reactions`);
124
+ return {
125
+ conversationId: r.conversation_id,
126
+ messageTs: r.message_ts,
127
+ reactions: r.reactions,
128
+ };
129
+ }
130
+ async listPins(connectionId, conversationId) {
131
+ return this.http.get(`${conversation(connectionId, conversationId)}/pins`);
132
+ }
133
+ /** Poll only in_progress. Unknown is terminal uncertainty; never blindly repeat. */
134
+ async getOperation(connectionId, operationId) {
135
+ return operation(await this.http.get(`${base(connectionId)}/operations/${encodeURIComponent(operationId)}`));
136
+ }
137
+ async addReaction(connectionId, conversationId, messageTs, name, options) {
138
+ return this.mutate("POST", `${message(connectionId, conversationId, messageTs)}/reactions`, options.idempotencyKey, { name });
139
+ }
140
+ async removeReaction(connectionId, conversationId, messageTs, name, options) {
141
+ return this.mutate("DELETE", `${message(connectionId, conversationId, messageTs)}/reactions/${encodeURIComponent(name)}`, options.idempotencyKey);
142
+ }
143
+ async addPin(connectionId, conversationId, messageTs, options) {
144
+ return this.mutate("POST", `${conversation(connectionId, conversationId)}/pins`, options.idempotencyKey, { message_ts: timestamp(messageTs) });
145
+ }
146
+ async removePin(connectionId, conversationId, messageTs, options) {
147
+ timestamp(messageTs);
148
+ return this.mutate("DELETE", `${conversation(connectionId, conversationId)}/pins/${encodeURIComponent(messageTs)}`, options.idempotencyKey);
149
+ }
150
+ /** Slack enforces that the connected agent can only edit its own message. */
151
+ async updateMessage(connectionId, conversationId, messageTs, text, options) {
152
+ return this.mutate("PATCH", message(connectionId, conversationId, messageTs), options.idempotencyKey, { text });
153
+ }
154
+ async deleteMessage(connectionId, conversationId, messageTs, options) {
155
+ return this.mutate("DELETE", message(connectionId, conversationId, messageTs), options.idempotencyKey);
156
+ }
157
+ async joinConversation(connectionId, conversationId, options) {
158
+ return this.mutate("POST", `${conversation(connectionId, conversationId)}/join`, options.idempotencyKey);
159
+ }
160
+ async leaveConversation(connectionId, conversationId, options) {
161
+ return this.mutate("POST", `${conversation(connectionId, conversationId)}/leave`, options.idempotencyKey);
162
+ }
163
+ /** Native workspace support is not implied by scopes; unsupported calls remain explicit failures. */
164
+ async setProcessingStatus(connectionId, conversationId, threadTs, status, options) {
165
+ return this.mutate("POST", `${conversation(connectionId, conversationId)}/processing-status`, options.idempotencyKey, { thread_ts: timestamp(threadTs), status });
166
+ }
167
+ /** Standard base64 of any file type, bounded to 1 byte..10 MiB decoded. */
168
+ async uploadFile(connectionId, options) {
169
+ return this.mutate("POST", `${base(connectionId)}/files`, options.idempotencyKey, {
170
+ conversation_id: options.conversationId,
171
+ filename: options.filename,
172
+ content_base64: options.contentBase64,
173
+ title: options.title,
174
+ initial_comment: options.initialComment,
175
+ thread_ts: timestamp(options.threadTs),
176
+ });
177
+ }
178
+ async getArchiveSettings(connectionId) {
179
+ return settings(await this.http.get(`${base(connectionId)}/archive/settings`));
180
+ }
181
+ /** Organization management only; set message retention.
182
+ * Omitted retention resets to no time limit. Capture remains automatic for all
183
+ * accessible observed messages, independently of webhook filters.
184
+ */
185
+ async updateArchiveSettings(connectionId, options = {}) {
186
+ return settings(await this.http.patch(`${base(connectionId)}/archive/settings`, {
187
+ retention_days: options.retentionDays ?? null,
188
+ }));
189
+ }
190
+ async archiveMessages(path, options, extra = {}) {
191
+ const r = await this.http.get(path, {
192
+ conversation_id: options.conversationId,
193
+ thread_ts: timestamp(options.threadTs),
194
+ before_ts: timestamp(options.beforeTs),
195
+ after_ts: timestamp(options.afterTs),
196
+ cursor: options.cursor,
197
+ limit: options.limit ?? 50,
198
+ ...extra,
199
+ });
200
+ return {
201
+ messages: r.messages.map(archivedMessage),
202
+ nextCursor: r.next_cursor ?? null,
203
+ source: r.source,
204
+ pageBoundary: r.page_boundary
205
+ ? { messageTs: r.page_boundary.message_ts, id: r.page_boundary.id }
206
+ : null,
207
+ };
208
+ }
209
+ async listArchivedMessages(connectionId, options = {}) {
210
+ return this.archiveMessages(`${base(connectionId)}/archive/messages`, options, {
211
+ latest_per_conversation: options.latestPerConversation,
212
+ });
213
+ }
214
+ async searchArchivedMessages(connectionId, q, options = {}) {
215
+ return this.archiveMessages(`${base(connectionId)}/archive/search`, options, {
216
+ q,
217
+ user_id: options.userId,
218
+ });
219
+ }
220
+ /** Search retained messages across an identity's workspace connections.
221
+ * Agent credentials infer the identity; other credentials require identityId.
222
+ * Follow nextCursor even when a page is short or empty.
223
+ */
224
+ async searchMessages(options) {
225
+ return this.archiveMessages("/slack/search", options, {
226
+ q: options.q,
227
+ identity_id: options.identityId,
228
+ connection_id: options.connectionId,
229
+ user_id: options.userId,
230
+ });
231
+ }
232
+ async archiveBackfill(connectionId, conversationId, options = {}) {
233
+ return coverage(await this.http.post(`${base(connectionId)}/archive/backfill`, {
234
+ conversation_id: conversationId,
235
+ thread_ts: timestamp(options.threadTs),
236
+ restart: options.restart ?? false,
237
+ }));
238
+ }
239
+ async listArchiveCoverage(connectionId, options = {}) {
240
+ const r = await this.http.get(`${base(connectionId)}/archive/coverage`, {
241
+ limit: options.limit ?? 100,
242
+ cursor: options.cursor,
243
+ });
244
+ return {
245
+ coverage: r.coverage.map(coverage),
246
+ nextCursor: r.next_cursor ?? null,
247
+ };
248
+ }
249
+ /** Organization management only; delete retained history without stopping new capture. */
250
+ async purgeArchive(connectionId) {
251
+ const r = await this.http.deleteWithResponse(`${base(connectionId)}/archive`);
252
+ return { status: r.status };
253
+ }
254
+ }
255
+ //# sourceMappingURL=slack-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack-operations.js","sourceRoot":"","sources":["../src/slack-operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ /** Slack workspace setup, live reads, and durable sends. */
2
+ import type { HttpTransport } from "./_http.js";
3
+ import { SlackOperationsResource } from "./slack-operations.js";
4
+ export type SlackMessageKind = "dm" | "group_dm" | "mention" | "channel" | "thread";
5
+ export interface SlackConnection {
6
+ id: string;
7
+ identityId: string;
8
+ workspaceId: string;
9
+ workspaceName: string;
10
+ botUserId: string;
11
+ status: "connected" | "disconnected" | "reauthorization_required";
12
+ scopes: string[];
13
+ createdAt: Date;
14
+ }
15
+ export interface SlackConnectionsResponse {
16
+ connections: SlackConnection[];
17
+ installationAvailable: boolean;
18
+ setup?: SlackSetupStatus | null;
19
+ /** App existence, independent of identity enablement or workspace connections. */
20
+ applicationCreated?: boolean;
21
+ provisioningWorkspace?: SlackProvisioningWorkspace | null;
22
+ }
23
+ export interface SlackSetupStatus {
24
+ status: "not_started" | "pending" | "ready" | "failed" | "unavailable" | "needs_credentials";
25
+ retryAt: Date | null;
26
+ errorCode: "setup_failed" | "outcome_unknown" | "quota_exceeded" | "credentials_required" | null;
27
+ provisioningWorkspaceId: string | null;
28
+ }
29
+ export interface SlackProvisioningWorkspace {
30
+ id: string;
31
+ workspaceId: string;
32
+ workspaceName: string;
33
+ userId: string;
34
+ status: "ready" | "reauthorization_required";
35
+ tokenExpiresAt: Date | null;
36
+ createdAt: Date;
37
+ updatedAt: Date;
38
+ }
39
+ export interface SlackInstallation {
40
+ authorizationUrl: string;
41
+ expiresAt: Date;
42
+ }
43
+ export interface SlackAction {
44
+ id: string;
45
+ connectionId: string;
46
+ status: "sending" | "sent" | "failed" | "unknown";
47
+ conversationId: string;
48
+ messageTs: string | null;
49
+ threadTs: string | null;
50
+ errorCode: string | null;
51
+ /** Immediate rate-limit delay in seconds; absent from stored action reads. */
52
+ retryAfter: number | null;
53
+ }
54
+ export interface SlackConversationsResponse {
55
+ conversations: Record<string, unknown>[];
56
+ nextCursor: string | null;
57
+ }
58
+ export interface SlackMessagesResponse {
59
+ messages: Record<string, unknown>[];
60
+ nextCursor: string | null;
61
+ hasMore: boolean;
62
+ }
63
+ export interface SlackFile {
64
+ id: string;
65
+ name: string | null;
66
+ title: string | null;
67
+ mimetype: string | null;
68
+ size: number | null;
69
+ downloadable: boolean;
70
+ }
71
+ export interface SlackSendMessageOptions {
72
+ conversationId: string;
73
+ text: string;
74
+ idempotencyKey: string;
75
+ threadTs?: string | null;
76
+ }
77
+ export interface SlackPageOptions {
78
+ limit?: number;
79
+ cursor?: string | null;
80
+ }
81
+ export interface SlackMessagesOptions extends SlackPageOptions {
82
+ threadTs?: string | null;
83
+ }
84
+ export declare class SlackResource extends SlackOperationsResource {
85
+ constructor(http: HttpTransport);
86
+ /**
87
+ * Claimed agent keys can install only their own identity.
88
+ * Open the short-lived opaque URL in a browser; do not log it.
89
+ * returnUrl optionally selects an approved Console completion URL; omit it for the default page.
90
+ */
91
+ startInstallation(identityId: string, options?: {
92
+ workspaceId?: string;
93
+ returnUrl?: string | null;
94
+ }): Promise<SlackInstallation>;
95
+ listConnections(identityId: string): Promise<SlackConnectionsResponse>;
96
+ /** List saved workspace metadata; credentials are never returned. */
97
+ listProvisioningWorkspaces(): Promise<SlackProvisioningWorkspace[]>;
98
+ /** Verify and save configuration credentials for your organization. Claimed agent keys are supported. */
99
+ saveProvisioningWorkspace(options: {
100
+ accessToken: string;
101
+ refreshToken: string;
102
+ }): Promise<SlackProvisioningWorkspace>;
103
+ /** Prepare the identity app in a saved workspace; read listConnections for status. */
104
+ startSetup(identityId: string, provisioningWorkspaceId: string): Promise<SlackSetupStatus>;
105
+ /** Removes Inkbox authority; does not uninstall the Slack app. */
106
+ disconnect(connectionId: string): Promise<SlackConnection>;
107
+ listConversations(connectionId: string, options?: SlackPageOptions): Promise<SlackConversationsResponse>;
108
+ openConversation(connectionId: string, userIds: string[]): Promise<Record<string, unknown>>;
109
+ getConversation(connectionId: string, conversationId: string): Promise<Record<string, unknown>>;
110
+ listMessages(connectionId: string, conversationId: string, options?: SlackMessagesOptions): Promise<SlackMessagesResponse>;
111
+ /** Keep a stable key for this exact message. Poll getAction while sending. Unknown is terminal uncertainty; never blindly resend. */
112
+ sendMessage(connectionId: string, options: SlackSendMessageOptions): Promise<SlackAction>;
113
+ getAction(connectionId: string, actionId: string): Promise<SlackAction>;
114
+ /** Read a send without resending; a 404 does not prove no send occurred. */
115
+ getActionByKey(connectionId: string, idempotencyKey: string): Promise<SlackAction>;
116
+ getFile(connectionId: string, fileId: string): Promise<SlackFile>;
117
+ downloadFile(connectionId: string, fileId: string): Promise<Uint8Array>;
118
+ }
119
+ //# sourceMappingURL=slack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../src/slack.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,MAAM,gBAAgB,GAC1B,IAAI,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AACvD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,GAAG,cAAc,GAAG,0BAA0B,CAAC;IAClE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;CACjB;AACD,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qBAAqB,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAC;CAC3D;AACD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa,GAAG,mBAAmB,CAAC;IAC7F,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,cAAc,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,sBAAsB,GAAG,IAAI,CAAC;IACjG,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AACD,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,GAAG,0BAA0B,CAAC;IAC7C,cAAc,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AACD,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,IAAI,CAAC;CACjB;AACD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAClD,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,8EAA8E;IAC9E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AACD,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACzC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AACD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACpC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB;AACD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;CACvB;AACD,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AACD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AACD,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AA4ED,qBAAa,aAAc,SAAQ,uBAAuB;gBAC5C,IAAI,EAAE,aAAa;IAG/B;;;;OAIG;IACG,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAO,GAChE,OAAO,CAAC,iBAAiB,CAAC;IAcvB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAgB5E,qEAAqE;IAC/D,0BAA0B,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAMzE,yGAAyG;IACnG,yBAAyB,CAAC,OAAO,EAAE;QACvC,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAQvC,sFAAsF;IAChF,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQhG,kEAAkE;IAC5D,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAG1D,iBAAiB,CACrB,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,0BAA0B,CAAC;IAahC,gBAAgB,CACpB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAK7B,eAAe,CACnB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAK7B,YAAY,CAChB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,qBAAqB,CAAC;IAqBjC,qIAAqI;IAC/H,WAAW,CACf,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,WAAW,CAAC;IAsBjB,SAAS,CACb,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC;IAOvB,4EAA4E;IACtE,cAAc,CAClB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,WAAW,CAAC;IAOjB,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAKjE,YAAY,CAChB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,UAAU,CAAC;CAOvB"}