@cuylabs/channel-slack 0.8.0 → 0.10.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.
package/README.md CHANGED
@@ -4,8 +4,9 @@ Agent-runtime-agnostic Slack channel primitives.
4
4
 
5
5
  This package owns reusable Slack mechanics: event parsing, message admission,
6
6
  history loading, formatting, setup inspection, auth helpers, entrypoint
7
- normalization, artifact publishing, and HTTP or Socket Mode transport helpers.
8
- It does not create or run an agent, and it does not depend on an agent SDK.
7
+ normalization, artifact publishing, interactive request rendering/storage,
8
+ response sink contracts, and HTTP or Socket Mode transport helpers. It does not
9
+ create or run an agent, and it does not depend on an agent SDK.
9
10
 
10
11
  Runtime-specific adapters should compose these primitives with their own turn
11
12
  types, event streams, tools, prompts, and deployment policy.
@@ -1,112 +1,5 @@
1
- type SlackArtifactPublishMethod = "message" | "file" | "canvas";
2
- type SlackArtifactBinaryData = string | Uint8Array | ArrayBuffer;
3
- interface SlackArtifactBase {
4
- kind: string;
5
- title: string;
6
- summary?: string;
7
- metadata?: Record<string, unknown>;
8
- }
9
- interface SlackTextArtifact extends SlackArtifactBase {
10
- kind: "text";
11
- text: string;
12
- filename?: string;
13
- mimeType?: string;
14
- publishAs?: "message" | "file";
15
- }
16
- interface SlackFileArtifact extends SlackArtifactBase {
17
- kind: "file";
18
- filename: string;
19
- data?: SlackArtifactBinaryData;
20
- filePath?: string;
21
- mimeType?: string;
22
- initialComment?: string;
23
- }
24
- interface SlackImageArtifact extends SlackArtifactBase {
25
- kind: "image";
26
- filename: string;
27
- altText: string;
28
- data?: SlackArtifactBinaryData;
29
- filePath?: string;
30
- initialComment?: string;
31
- }
32
- interface SlackLinkArtifact extends SlackArtifactBase {
33
- kind: "link";
34
- url: string;
35
- }
36
- interface SlackCanvasArtifact extends SlackArtifactBase {
37
- kind: "canvas";
38
- markdown: string;
39
- /**
40
- * When set, updates an existing canvas instead of creating one.
41
- */
42
- canvasId?: string;
43
- /**
44
- * Create a channel canvas when a channel is available.
45
- *
46
- * @default true
47
- */
48
- channelCanvas?: boolean;
49
- }
50
- type SlackArtifact = SlackTextArtifact | SlackFileArtifact | SlackImageArtifact | SlackLinkArtifact | SlackCanvasArtifact;
51
- interface SlackArtifactPostMessageResponse {
52
- ok?: boolean;
53
- channel?: string;
54
- ts?: string;
55
- [key: string]: unknown;
56
- }
57
- interface SlackArtifactFileUploadResponse {
58
- ok?: boolean;
59
- file?: {
60
- id?: string;
61
- [key: string]: unknown;
62
- };
63
- files?: Array<{
64
- id?: string;
65
- [key: string]: unknown;
66
- }>;
67
- [key: string]: unknown;
68
- }
69
- interface SlackArtifactCanvasResponse {
70
- ok?: boolean;
71
- canvas_id?: string;
72
- [key: string]: unknown;
73
- }
74
- interface SlackArtifactClient {
75
- chat?: {
76
- postMessage(args: Record<string, unknown>): Promise<SlackArtifactPostMessageResponse>;
77
- };
78
- files?: {
79
- uploadV2(args: Record<string, unknown>): Promise<SlackArtifactFileUploadResponse>;
80
- };
81
- canvases?: {
82
- create(args?: Record<string, unknown>): Promise<SlackArtifactCanvasResponse>;
83
- edit?(args: Record<string, unknown>): Promise<SlackArtifactCanvasResponse>;
84
- };
85
- conversations?: {
86
- canvases?: {
87
- create(args: Record<string, unknown>): Promise<SlackArtifactCanvasResponse>;
88
- };
89
- };
90
- }
91
- interface PublishSlackArtifactOptions {
92
- client: SlackArtifactClient;
93
- artifact: SlackArtifact;
94
- channelId?: string;
95
- threadTs?: string;
96
- token?: string;
97
- unfurlLinks?: boolean;
98
- unfurlMedia?: boolean;
99
- }
100
- interface SlackArtifactPublication {
101
- artifact: SlackArtifact;
102
- method: SlackArtifactPublishMethod;
103
- response: unknown;
104
- channelId?: string;
105
- threadTs?: string;
106
- messageTs?: string;
107
- fileId?: string;
108
- canvasId?: string;
109
- }
1
+ import { S as SlackArtifact, l as SlackLinkArtifact, P as PublishSlackArtifactOptions, g as SlackArtifactPublication, i as SlackCanvasArtifact, j as SlackFileArtifact, k as SlackImageArtifact, m as SlackTextArtifact } from '../types-C8nkPuD4.js';
2
+ export { a as SlackArtifactBase, b as SlackArtifactBinaryData, c as SlackArtifactCanvasResponse, d as SlackArtifactClient, e as SlackArtifactFileUploadResponse, f as SlackArtifactPostMessageResponse, h as SlackArtifactPublishMethod } from '../types-C8nkPuD4.js';
110
3
 
111
4
  interface SlackArtifactBlockKitMessage {
112
5
  text: string;
@@ -132,4 +25,4 @@ declare function publishSlackCanvasArtifact(options: PublishSlackArtifactOptions
132
25
  artifact: SlackCanvasArtifact;
133
26
  }): Promise<SlackArtifactPublication>;
134
27
 
135
- export { type PublishSlackArtifactOptions, type SlackArtifact, type SlackArtifactBase, type SlackArtifactBinaryData, type SlackArtifactBlockKitMessage, type SlackArtifactCanvasResponse, type SlackArtifactClient, type SlackArtifactFileUploadResponse, type SlackArtifactPostMessageResponse, type SlackArtifactPublication, type SlackArtifactPublishMethod, type SlackCanvasArtifact, type SlackFileArtifact, type SlackImageArtifact, type SlackLinkArtifact, type SlackTextArtifact, createSlackArtifactBlocks, createSlackLinkArtifactBlocks, publishSlackArtifact, publishSlackCanvasArtifact, publishSlackFileArtifact, publishSlackImageArtifact, publishSlackLinkArtifact, publishSlackTextArtifact };
28
+ export { PublishSlackArtifactOptions, SlackArtifact, type SlackArtifactBlockKitMessage, SlackArtifactPublication, SlackCanvasArtifact, SlackFileArtifact, SlackImageArtifact, SlackLinkArtifact, SlackTextArtifact, createSlackArtifactBlocks, createSlackLinkArtifactBlocks, publishSlackArtifact, publishSlackCanvasArtifact, publishSlackFileArtifact, publishSlackImageArtifact, publishSlackLinkArtifact, publishSlackTextArtifact };