@sendbird/cli 0.0.0-stage → 0.3.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/.claude-plugin/plugin.json +11 -0
  2. package/.codex-plugin/plugin.json +33 -0
  3. package/LICENSE +13 -0
  4. package/NOTICE.md +1105 -0
  5. package/PROVENANCE.md +15 -0
  6. package/README.md +457 -2
  7. package/dist/acl.d.ts +2 -0
  8. package/dist/acl.js +12 -0
  9. package/dist/acl.js.map +1 -0
  10. package/dist/billing-plan.d.ts +68 -0
  11. package/dist/billing-plan.js +235 -0
  12. package/dist/billing-plan.js.map +1 -0
  13. package/dist/browser.d.ts +1 -0
  14. package/dist/browser.js +20 -0
  15. package/dist/browser.js.map +1 -0
  16. package/dist/calls-catalog.d.ts +79 -0
  17. package/dist/calls-catalog.js +322 -0
  18. package/dist/calls-catalog.js.map +1 -0
  19. package/dist/calls-credits.d.ts +31 -0
  20. package/dist/calls-credits.js +224 -0
  21. package/dist/calls-credits.js.map +1 -0
  22. package/dist/calls-trial.d.ts +45 -0
  23. package/dist/calls-trial.js +77 -0
  24. package/dist/calls-trial.js.map +1 -0
  25. package/dist/calls.d.ts +10 -0
  26. package/dist/calls.js +470 -0
  27. package/dist/calls.js.map +1 -0
  28. package/dist/catalog.d.ts +67 -0
  29. package/dist/catalog.js +784 -0
  30. package/dist/catalog.js.map +1 -0
  31. package/dist/cli.d.ts +6 -0
  32. package/dist/cli.js +502 -0
  33. package/dist/cli.js.map +1 -0
  34. package/dist/core.d.ts +86 -0
  35. package/dist/core.js +531 -0
  36. package/dist/core.js.map +1 -0
  37. package/dist/diagnostics.d.ts +206 -0
  38. package/dist/diagnostics.js +664 -0
  39. package/dist/diagnostics.js.map +1 -0
  40. package/dist/discovery.d.ts +700 -0
  41. package/dist/discovery.js +838 -0
  42. package/dist/discovery.js.map +1 -0
  43. package/dist/docs.d.ts +31 -0
  44. package/dist/docs.js +137 -0
  45. package/dist/docs.js.map +1 -0
  46. package/dist/features.d.ts +131 -0
  47. package/dist/features.js +227 -0
  48. package/dist/features.js.map +1 -0
  49. package/dist/generated-api.d.ts +116 -0
  50. package/dist/generated-api.js +118 -0
  51. package/dist/generated-api.js.map +1 -0
  52. package/dist/human-format.d.ts +40 -0
  53. package/dist/human-format.js +205 -0
  54. package/dist/human-format.js.map +1 -0
  55. package/dist/human-list.d.ts +2 -0
  56. package/dist/human-list.js +368 -0
  57. package/dist/human-list.js.map +1 -0
  58. package/dist/human-output.d.ts +10 -0
  59. package/dist/human-output.js +1351 -0
  60. package/dist/human-output.js.map +1 -0
  61. package/dist/human-pro.d.ts +3 -0
  62. package/dist/human-pro.js +201 -0
  63. package/dist/human-pro.js.map +1 -0
  64. package/dist/human-progress.d.ts +5 -0
  65. package/dist/human-progress.js +49 -0
  66. package/dist/human-progress.js.map +1 -0
  67. package/dist/local.d.ts +42 -0
  68. package/dist/local.js +707 -0
  69. package/dist/local.js.map +1 -0
  70. package/dist/oauth-callback.d.ts +3 -0
  71. package/dist/oauth-callback.js +66 -0
  72. package/dist/oauth-callback.js.map +1 -0
  73. package/dist/oauth-lock.d.ts +6 -0
  74. package/dist/oauth-lock.js +212 -0
  75. package/dist/oauth-lock.js.map +1 -0
  76. package/dist/oauth.d.ts +32 -0
  77. package/dist/oauth.js +493 -0
  78. package/dist/oauth.js.map +1 -0
  79. package/dist/presentation.d.ts +208 -0
  80. package/dist/presentation.js +156 -0
  81. package/dist/presentation.js.map +1 -0
  82. package/dist/pro-api-catalog.d.ts +24 -0
  83. package/dist/pro-api-catalog.js +619 -0
  84. package/dist/pro-api-catalog.js.map +1 -0
  85. package/dist/pro-api.d.ts +10 -0
  86. package/dist/pro-api.js +338 -0
  87. package/dist/pro-api.js.map +1 -0
  88. package/dist/project.d.ts +34 -0
  89. package/dist/project.js +62 -0
  90. package/dist/project.js.map +1 -0
  91. package/dist/recovery.d.ts +41 -0
  92. package/dist/recovery.js +417 -0
  93. package/dist/recovery.js.map +1 -0
  94. package/dist/runner.d.ts +47 -0
  95. package/dist/runner.js +603 -0
  96. package/dist/runner.js.map +1 -0
  97. package/dist/sdk-catalog.d.ts +69 -0
  98. package/dist/sdk-catalog.js +527 -0
  99. package/dist/sdk-catalog.js.map +1 -0
  100. package/dist/sdk-config.d.ts +19 -0
  101. package/dist/sdk-config.js +85 -0
  102. package/dist/sdk-config.js.map +1 -0
  103. package/dist/sdk-dto.d.ts +244 -0
  104. package/dist/sdk-dto.js +98 -0
  105. package/dist/sdk-dto.js.map +1 -0
  106. package/dist/sdk-limits.d.ts +2 -0
  107. package/dist/sdk-limits.js +3 -0
  108. package/dist/sdk-limits.js.map +1 -0
  109. package/dist/sdk-node-file-reader.d.ts +6 -0
  110. package/dist/sdk-node-file-reader.js +38 -0
  111. package/dist/sdk-node-file-reader.js.map +1 -0
  112. package/dist/sdk-pro-catalog.d.ts +22 -0
  113. package/dist/sdk-pro-catalog.js +234 -0
  114. package/dist/sdk-pro-catalog.js.map +1 -0
  115. package/dist/sdk-pro-runtime.d.ts +31 -0
  116. package/dist/sdk-pro-runtime.js +293 -0
  117. package/dist/sdk-pro-runtime.js.map +1 -0
  118. package/dist/sdk-query.d.ts +10 -0
  119. package/dist/sdk-query.js +29 -0
  120. package/dist/sdk-query.js.map +1 -0
  121. package/dist/sdk-runtime.d.ts +15 -0
  122. package/dist/sdk-runtime.js +685 -0
  123. package/dist/sdk-runtime.js.map +1 -0
  124. package/dist/sdk-worker.d.ts +1 -0
  125. package/dist/sdk-worker.js +26 -0
  126. package/dist/sdk-worker.js.map +1 -0
  127. package/dist/sdk.d.ts +29 -0
  128. package/dist/sdk.js +346 -0
  129. package/dist/sdk.js.map +1 -0
  130. package/dist/search-engine.d.ts +17 -0
  131. package/dist/search-engine.js +54 -0
  132. package/dist/search-engine.js.map +1 -0
  133. package/dist/search-intents.d.ts +2 -0
  134. package/dist/search-intents.js +98 -0
  135. package/dist/search-intents.js.map +1 -0
  136. package/dist/search.d.ts +7 -0
  137. package/dist/search.js +58 -0
  138. package/dist/search.js.map +1 -0
  139. package/dist/secret-output.d.ts +2 -0
  140. package/dist/secret-output.js +108 -0
  141. package/dist/secret-output.js.map +1 -0
  142. package/dist/shell.d.ts +3 -0
  143. package/dist/shell.js +14 -0
  144. package/dist/shell.js.map +1 -0
  145. package/dist/skills.d.ts +210 -0
  146. package/dist/skills.js +374 -0
  147. package/dist/skills.js.map +1 -0
  148. package/dist/value-semantics.d.ts +70 -0
  149. package/dist/value-semantics.js +173 -0
  150. package/dist/value-semantics.js.map +1 -0
  151. package/dist/version.d.ts +1 -0
  152. package/dist/version.js +3 -0
  153. package/dist/version.js.map +1 -0
  154. package/dist/windows.d.ts +4 -0
  155. package/dist/windows.js +136 -0
  156. package/dist/windows.js.map +1 -0
  157. package/dist/workflows.d.ts +228 -0
  158. package/dist/workflows.js +1207 -0
  159. package/dist/workflows.js.map +1 -0
  160. package/package.json +86 -4
  161. package/plugin.json +22 -0
  162. package/references/agent-guide.json +196 -0
  163. package/references/commands.md +247 -0
  164. package/references/dashboard-inventory.json +14796 -0
  165. package/references/docs-index.json +2709 -0
  166. package/references/sdk-commands.json +15065 -0
  167. package/references/workflows.json +1246 -0
  168. package/skills/sendbird/SKILL.md +96 -0
  169. package/skills/sendbird/agents/openai.yaml +4 -0
  170. package/skills/sendbird/references/build-chat-app.md +49 -0
  171. package/skills/sendbird/references/client-guide.md +34 -0
  172. package/skills/sendbird/references/client-plugin-bridge.md +77 -0
  173. package/skills/sendbird/references/client-plugin-install.md +39 -0
  174. package/skills/sendbird/references/operational-checks.md +35 -0
  175. package/skills/sendbird/references/pro-capabilities.md +52 -0
  176. package/skills/sendbird/scripts/client-guide.mjs +283 -0
  177. package/skills/sendbird/scripts/client-plugin-bridge.mjs +703 -0
  178. package/skills/sendbird-setup/SKILL.md +18 -0
  179. package/skills/sendbird-setup/agents/openai.yaml +4 -0
  180. package/skills/sendbird-setup/references/onboarding.md +73 -0
  181. package/skills/sendbird-setup/scripts/install-cli.mjs +447 -0
  182. package/skills/sendbird-setup/scripts/npm-run.mjs +34 -0
@@ -0,0 +1,19 @@
1
+ import { z } from "zod";
2
+ import { type Options } from "./runner.js";
3
+ export declare const sdkConfigSchema: z.ZodObject<{
4
+ app_id: z.ZodString;
5
+ environment: z.ZodEnum<{
6
+ prod: "prod";
7
+ staging: "staging";
8
+ }>;
9
+ region: z.ZodString;
10
+ region_family: z.ZodEnum<{
11
+ standard: "standard";
12
+ delight: "delight";
13
+ }>;
14
+ api_host: z.ZodURL;
15
+ ws_host: z.ZodURL;
16
+ }, z.core.$strict>;
17
+ export type SdkConfig = z.infer<typeof sdkConfigSchema>;
18
+ export declare function discoverSdkConfig(opts: Options): Promise<SdkConfig>;
19
+ export declare function readSdkConfig(file: string, appId: string, env: "prod" | "staging"): SdkConfig;
@@ -0,0 +1,85 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { z } from "zod";
3
+ import { CliError, profile, request, encodeSegment } from "./core.js";
4
+ import { transport, verify, context } from "./runner.js";
5
+ export const sdkConfigSchema = z
6
+ .object({
7
+ app_id: z.string().min(1),
8
+ environment: z.enum(["prod", "staging"]),
9
+ region: z.string().min(1),
10
+ region_family: z.enum(["standard", "delight"]),
11
+ api_host: z.url(),
12
+ ws_host: z.url(),
13
+ })
14
+ .strict();
15
+ export async function discoverSdkConfig(opts) {
16
+ opts = context(opts);
17
+ const p = profile(opts.profile);
18
+ // context() already resolves saved/project defaults and clears a stale app.
19
+ const appId = opts.appId;
20
+ if (!appId)
21
+ throw new CliError("E_CONTEXT", "Pass --app-id or select an app before discovering SDK endpoints", 2);
22
+ const t = transport(opts);
23
+ const app = (await request(t, {
24
+ method: "GET",
25
+ path: `/dashboard/applications/${encodeSegment(appId)}/get_detail/`,
26
+ appId,
27
+ }));
28
+ if (app.app_id !== appId ||
29
+ typeof app.region !== "string" ||
30
+ (app.is_delight_region !== undefined &&
31
+ typeof app.is_delight_region !== "boolean"))
32
+ throw new CliError("E_SCHEMA", "App detail lacks app/region binding", 8);
33
+ const auth = await verify(t);
34
+ const orgs = auth.organizations ?? (auth.organization ? [auth.organization] : []);
35
+ const orgId = opts.orgId;
36
+ // Dashboard treats only an omitted family flag as Standard; null/strings
37
+ // remain invalid. Explicit app ownership must agree with the selected org.
38
+ const appOrg = app.organization && typeof app.organization === "object"
39
+ ? app.organization.uid
40
+ : undefined;
41
+ if (orgId && typeof appOrg === "string" && appOrg !== orgId)
42
+ throw new CliError("E_CONTEXT", "Application does not belong to selected organization", 5);
43
+ const boundOrg = orgId ?? (typeof appOrg === "string" ? appOrg : undefined);
44
+ const candidates = boundOrg ? orgs.filter((o) => o.uid === boundOrg) : orgs;
45
+ if (!candidates.length)
46
+ throw new CliError("E_CONTEXT", "Selected organization is not in the authenticated session", 5);
47
+ const family = app.is_delight_region ? "delight" : "standard";
48
+ const pairs = candidates
49
+ .map((o) => o[family === "delight" ? "delight_regions" : "regions"]?.[app.region])
50
+ .filter((r) => typeof r?.api_url === "string" && typeof r?.ws_url === "string");
51
+ const unique = [
52
+ ...new Map(pairs.map((r) => [`${r.api_url}\n${r.ws_url}`, r])).values(),
53
+ ];
54
+ if (unique.length !== 1)
55
+ throw new CliError("E_CONTEXT", unique.length
56
+ ? "Multiple region routes; select --org-id explicitly"
57
+ : "No SDK route in the authenticated region metadata", 5);
58
+ const result = sdkConfigSchema.safeParse({
59
+ app_id: appId,
60
+ environment: p.env,
61
+ region: app.region,
62
+ region_family: family,
63
+ api_host: unique[0].api_url,
64
+ ws_host: unique[0].ws_url,
65
+ });
66
+ if (!result.success)
67
+ throw new CliError("E_SCHEMA", "SDK region metadata is invalid", 8);
68
+ return result.data;
69
+ }
70
+ export function readSdkConfig(file, appId, env) {
71
+ let value;
72
+ try {
73
+ value = JSON.parse(readFileSync(file, "utf8"));
74
+ }
75
+ catch {
76
+ throw new CliError("E_INPUT", "Cannot read SDK config JSON file", 2);
77
+ }
78
+ const result = sdkConfigSchema.safeParse(value);
79
+ if (!result.success)
80
+ throw new CliError("E_INPUT", "SDK config must be the unmodified JSON from app sdk-config", 2);
81
+ if (result.data.app_id !== appId || result.data.environment !== env)
82
+ throw new CliError("E_CONTEXT", "SDK config belongs to a different app or environment", 5);
83
+ return result.data;
84
+ }
85
+ //# sourceMappingURL=sdk-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-config.js","sourceRoot":"","sources":["../src/sdk-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,244 @@
1
+ /** Plain SDK response projections. Never return SDK instances or authenticated SDK URL getters. */
2
+ import type { User } from "@sendbird/chat";
3
+ import type { BaseMessage } from "@sendbird/chat/message";
4
+ export declare function user(u: User): {
5
+ restriction_info?: {
6
+ type: string | null;
7
+ end_at: number;
8
+ description: string;
9
+ } | undefined;
10
+ preferred_languages?: string[] | null | undefined;
11
+ last_seen_at?: number | null | undefined;
12
+ connection_status?: import("@sendbird/chat").UserOnlineState | undefined;
13
+ user_id: string;
14
+ nickname: string;
15
+ };
16
+ export declare function message(m: BaseMessage): {
17
+ reactions: {
18
+ key: string;
19
+ user_ids: string[];
20
+ }[];
21
+ thread_info: {
22
+ reply_count: number;
23
+ } | undefined;
24
+ poll_id?: number | null | undefined;
25
+ type: string;
26
+ message: string;
27
+ sender: {
28
+ restriction_info?: {
29
+ type: string | null;
30
+ end_at: number;
31
+ description: string;
32
+ } | undefined;
33
+ preferred_languages?: string[] | null | undefined;
34
+ last_seen_at?: number | null | undefined;
35
+ connection_status?: import("@sendbird/chat").UserOnlineState | undefined;
36
+ user_id: string;
37
+ nickname: string;
38
+ };
39
+ translations: object;
40
+ meta_arrays?: {
41
+ key: string;
42
+ value: string[];
43
+ }[] | undefined;
44
+ mentioned_user_ids?: string[] | null | undefined;
45
+ mentioned_users?: {
46
+ restriction_info?: {
47
+ type: string | null;
48
+ end_at: number;
49
+ description: string;
50
+ } | undefined;
51
+ preferred_languages?: string[] | null | undefined;
52
+ last_seen_at?: number | null | undefined;
53
+ connection_status?: import("@sendbird/chat").UserOnlineState | undefined;
54
+ user_id: string;
55
+ nickname: string;
56
+ }[] | undefined;
57
+ mention_type?: import("@sendbird/chat/message").MentionType | null | undefined;
58
+ message_id: number;
59
+ channel_url: string;
60
+ created_at: number;
61
+ updated_at: number;
62
+ custom_type: string;
63
+ data: string;
64
+ parent_message_id: number;
65
+ } | {
66
+ reactions: {
67
+ key: string;
68
+ user_ids: string[];
69
+ }[];
70
+ thread_info: {
71
+ reply_count: number;
72
+ } | undefined;
73
+ type: string;
74
+ name: string;
75
+ mime_type: string;
76
+ size: number;
77
+ url: unknown;
78
+ requires_auth: boolean;
79
+ thumbnails: {
80
+ url: unknown;
81
+ width: number;
82
+ height: number;
83
+ real_width: number;
84
+ real_height: number;
85
+ }[];
86
+ sender: {
87
+ restriction_info?: {
88
+ type: string | null;
89
+ end_at: number;
90
+ description: string;
91
+ } | undefined;
92
+ preferred_languages?: string[] | null | undefined;
93
+ last_seen_at?: number | null | undefined;
94
+ connection_status?: import("@sendbird/chat").UserOnlineState | undefined;
95
+ user_id: string;
96
+ nickname: string;
97
+ };
98
+ meta_arrays?: {
99
+ key: string;
100
+ value: string[];
101
+ }[] | undefined;
102
+ mentioned_user_ids?: string[] | null | undefined;
103
+ mentioned_users?: {
104
+ restriction_info?: {
105
+ type: string | null;
106
+ end_at: number;
107
+ description: string;
108
+ } | undefined;
109
+ preferred_languages?: string[] | null | undefined;
110
+ last_seen_at?: number | null | undefined;
111
+ connection_status?: import("@sendbird/chat").UserOnlineState | undefined;
112
+ user_id: string;
113
+ nickname: string;
114
+ }[] | undefined;
115
+ mention_type?: import("@sendbird/chat/message").MentionType | null | undefined;
116
+ message_id: number;
117
+ channel_url: string;
118
+ created_at: number;
119
+ updated_at: number;
120
+ custom_type: string;
121
+ data: string;
122
+ parent_message_id: number;
123
+ } | {
124
+ reactions: {
125
+ key: string;
126
+ user_ids: string[];
127
+ }[];
128
+ thread_info: {
129
+ reply_count: number;
130
+ } | undefined;
131
+ type: string;
132
+ message: string;
133
+ meta_arrays?: {
134
+ key: string;
135
+ value: string[];
136
+ }[] | undefined;
137
+ mentioned_user_ids?: string[] | null | undefined;
138
+ mentioned_users?: {
139
+ restriction_info?: {
140
+ type: string | null;
141
+ end_at: number;
142
+ description: string;
143
+ } | undefined;
144
+ preferred_languages?: string[] | null | undefined;
145
+ last_seen_at?: number | null | undefined;
146
+ connection_status?: import("@sendbird/chat").UserOnlineState | undefined;
147
+ user_id: string;
148
+ nickname: string;
149
+ }[] | undefined;
150
+ mention_type?: import("@sendbird/chat/message").MentionType | null | undefined;
151
+ message_id: number;
152
+ channel_url: string;
153
+ created_at: number;
154
+ updated_at: number;
155
+ custom_type: string;
156
+ data: string;
157
+ parent_message_id: number;
158
+ } | {
159
+ reactions: {
160
+ key: string;
161
+ user_ids: string[];
162
+ }[];
163
+ thread_info: {
164
+ reply_count: number;
165
+ } | undefined;
166
+ type: string;
167
+ files: {
168
+ name: string | null;
169
+ mime_type: string | null;
170
+ size: number;
171
+ url: unknown;
172
+ }[];
173
+ sender: {
174
+ restriction_info?: {
175
+ type: string | null;
176
+ end_at: number;
177
+ description: string;
178
+ } | undefined;
179
+ preferred_languages?: string[] | null | undefined;
180
+ last_seen_at?: number | null | undefined;
181
+ connection_status?: import("@sendbird/chat").UserOnlineState | undefined;
182
+ user_id: string;
183
+ nickname: string;
184
+ };
185
+ meta_arrays?: {
186
+ key: string;
187
+ value: string[];
188
+ }[] | undefined;
189
+ mentioned_user_ids?: string[] | null | undefined;
190
+ mentioned_users?: {
191
+ restriction_info?: {
192
+ type: string | null;
193
+ end_at: number;
194
+ description: string;
195
+ } | undefined;
196
+ preferred_languages?: string[] | null | undefined;
197
+ last_seen_at?: number | null | undefined;
198
+ connection_status?: import("@sendbird/chat").UserOnlineState | undefined;
199
+ user_id: string;
200
+ nickname: string;
201
+ }[] | undefined;
202
+ mention_type?: import("@sendbird/chat/message").MentionType | null | undefined;
203
+ message_id: number;
204
+ channel_url: string;
205
+ created_at: number;
206
+ updated_at: number;
207
+ custom_type: string;
208
+ data: string;
209
+ parent_message_id: number;
210
+ } | {
211
+ reactions: {
212
+ key: string;
213
+ user_ids: string[];
214
+ }[];
215
+ thread_info: {
216
+ reply_count: number;
217
+ } | undefined;
218
+ type: import("@sendbird/chat/message").MessageType;
219
+ meta_arrays?: {
220
+ key: string;
221
+ value: string[];
222
+ }[] | undefined;
223
+ mentioned_user_ids?: string[] | null | undefined;
224
+ mentioned_users?: {
225
+ restriction_info?: {
226
+ type: string | null;
227
+ end_at: number;
228
+ description: string;
229
+ } | undefined;
230
+ preferred_languages?: string[] | null | undefined;
231
+ last_seen_at?: number | null | undefined;
232
+ connection_status?: import("@sendbird/chat").UserOnlineState | undefined;
233
+ user_id: string;
234
+ nickname: string;
235
+ }[] | undefined;
236
+ mention_type?: import("@sendbird/chat/message").MentionType | null | undefined;
237
+ message_id: number;
238
+ channel_url: string;
239
+ created_at: number;
240
+ updated_at: number;
241
+ custom_type: string;
242
+ data: string;
243
+ parent_message_id: number;
244
+ };
@@ -0,0 +1,98 @@
1
+ import { redact } from "./core.js";
2
+ export function user(u) {
3
+ return {
4
+ user_id: u.userId,
5
+ nickname: u.nickname,
6
+ ...(u.connectionStatus !== undefined
7
+ ? { connection_status: u.connectionStatus }
8
+ : {}),
9
+ ...(u.lastSeenAt !== undefined ? { last_seen_at: u.lastSeenAt } : {}),
10
+ ...(u.preferredLanguages !== undefined
11
+ ? { preferred_languages: u.preferredLanguages }
12
+ : {}),
13
+ ...("restrictionInfo" in u &&
14
+ u.restrictionInfo &&
15
+ typeof u.restrictionInfo === "object"
16
+ ? {
17
+ restriction_info: (() => {
18
+ const r = u.restrictionInfo;
19
+ return {
20
+ type: r.restrictionType,
21
+ end_at: r.endAt,
22
+ description: r.description,
23
+ };
24
+ })(),
25
+ }
26
+ : {}),
27
+ };
28
+ }
29
+ export function message(m) {
30
+ return {
31
+ message_id: m.messageId,
32
+ channel_url: m.channelUrl,
33
+ created_at: m.createdAt,
34
+ updated_at: m.updatedAt,
35
+ custom_type: m.customType,
36
+ data: m.data,
37
+ parent_message_id: m.parentMessageId,
38
+ ...(m.mentionType !== undefined ? { mention_type: m.mentionType } : {}),
39
+ ...(m.mentionedUsers
40
+ ? { mentioned_users: m.mentionedUsers.map(user) }
41
+ : {}),
42
+ ...(m.mentionedUserIds !== undefined
43
+ ? { mentioned_user_ids: m.mentionedUserIds }
44
+ : {}),
45
+ ...(m.metaArrays
46
+ ? {
47
+ meta_arrays: m.metaArrays.map((a) => ({
48
+ key: a.key,
49
+ value: a.value,
50
+ })),
51
+ }
52
+ : {}),
53
+ ...(m.isUserMessage()
54
+ ? {
55
+ type: "text",
56
+ message: m.message,
57
+ sender: user(m.sender),
58
+ translations: m.translations,
59
+ ...(m.poll !== undefined ? { poll_id: m.poll?.id ?? null } : {}),
60
+ }
61
+ : m.isFileMessage()
62
+ ? {
63
+ type: "file",
64
+ name: m.name,
65
+ mime_type: m.type,
66
+ size: m.size,
67
+ url: redact(m.plainUrl),
68
+ requires_auth: m.requireAuth,
69
+ thumbnails: m.thumbnails?.map((t) => ({
70
+ url: redact(t.plainUrl),
71
+ width: t.width,
72
+ height: t.height,
73
+ real_width: t.realWidth,
74
+ real_height: t.realHeight,
75
+ })),
76
+ sender: user(m.sender),
77
+ }
78
+ : m.isAdminMessage()
79
+ ? { type: "admin", message: m.message }
80
+ : m.isMultipleFilesMessage()
81
+ ? {
82
+ type: "multiple_files",
83
+ files: m.fileInfoList.map((f) => ({
84
+ name: f.fileName,
85
+ mime_type: f.mimeType,
86
+ size: f.fileSize,
87
+ url: redact(f.plainUrl),
88
+ })),
89
+ sender: user(m.sender),
90
+ }
91
+ : { type: m.messageType }),
92
+ reactions: m.reactions?.map((r) => ({ key: r.key, user_ids: r.userIds })),
93
+ thread_info: m.threadInfo
94
+ ? { reply_count: m.threadInfo.replyCount }
95
+ : undefined,
96
+ };
97
+ }
98
+ //# sourceMappingURL=sdk-dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-dto.js","sourceRoot":"","sources":["../src/sdk-dto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ /** Shared ceiling for replaying SDK process-local query pages. */
2
+ export declare const SDK_QUERY_PAGE_LIMIT = 100;
@@ -0,0 +1,3 @@
1
+ /** Shared ceiling for replaying SDK process-local query pages. */
2
+ export const SDK_QUERY_PAGE_LIMIT = 100;
3
+ //# sourceMappingURL=sdk-limits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-limits.js","sourceRoot":"","sources":["../src/sdk-limits.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The pinned Chat SDK reads compressed WebSocket Blob frames with FileReader.
3
+ * Node has Blob.arrayBuffer() but no FileReader, so provide only the methods
4
+ * that SDK path needs inside the isolated SDK worker.
5
+ */
6
+ export declare function installNodeFileReader(): void;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * The pinned Chat SDK reads compressed WebSocket Blob frames with FileReader.
3
+ * Node has Blob.arrayBuffer() but no FileReader, so provide only the methods
4
+ * that SDK path needs inside the isolated SDK worker.
5
+ */
6
+ export function installNodeFileReader() {
7
+ if (typeof globalThis.FileReader !== "undefined")
8
+ return;
9
+ class NodeFileReader {
10
+ result = null;
11
+ error = null;
12
+ onload = null;
13
+ onerror = null;
14
+ onloadend = null;
15
+ readAsArrayBuffer(blob) {
16
+ this.read(blob.arrayBuffer());
17
+ }
18
+ readAsText(blob) {
19
+ this.read(blob.text());
20
+ }
21
+ read(value) {
22
+ void value.then((result) => {
23
+ this.result = result;
24
+ this.onload?.();
25
+ this.onloadend?.();
26
+ }, (error) => {
27
+ this.error = error;
28
+ this.onerror?.();
29
+ this.onloadend?.();
30
+ });
31
+ }
32
+ }
33
+ Object.defineProperty(globalThis, "FileReader", {
34
+ configurable: true,
35
+ value: NodeFileReader,
36
+ });
37
+ }
38
+ //# sourceMappingURL=sdk-node-file-reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-node-file-reader.js","sourceRoot":"","sources":["../src/sdk-node-file-reader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI,OAAO,UAAU,CAAC,UAAU,KAAK,WAAW;QAAE,OAAO;IACzD,MAAM,cAAc;QAClB,MAAM,GAAgC,IAAI,CAAC;QAC3C,KAAK,GAAY,IAAI,CAAC;QACtB,MAAM,GAAwB,IAAI,CAAC;QACnC,OAAO,GAAwB,IAAI,CAAC;QACpC,SAAS,GAAwB,IAAI,CAAC;QAEtC,iBAAiB,CAAC,IAAU;YAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAChC,CAAC;QAED,UAAU,CAAC,IAAU;YACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC;QAEO,IAAI,CAAC,KAAoC;YAC/C,KAAK,KAAK,CAAC,IAAI,CACb,CAAC,MAAM,EAAE,EAAE;gBACT,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBAChB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACrB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACjB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACrB,CAAC,CACF,CAAC;QACJ,CAAC;KACF;IACD,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,YAAY,EAAE;QAC9C,YAAY,EAAE,IAAI;QAClB,KAAK,EAAE,cAAc;KACtB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,22 @@
1
+ /** Pro SDK operations retain Chat-user permissions; none use management keys. */
2
+ import { z } from "zod";
3
+ import type { SdkDefinition } from "./sdk-catalog.js";
4
+ export declare const metaArray: z.ZodObject<{
5
+ key: z.ZodString;
6
+ value: z.ZodArray<z.ZodString>;
7
+ }, z.core.$strict>;
8
+ export declare const expressiveFields: {
9
+ mention_type: z.ZodOptional<z.ZodEnum<{
10
+ channel: "channel";
11
+ users: "users";
12
+ }>>;
13
+ mentioned_user_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
14
+ meta_arrays: z.ZodOptional<z.ZodArray<z.ZodObject<{
15
+ key: z.ZodString;
16
+ value: z.ZodArray<z.ZodString>;
17
+ }, z.core.$strict>>>;
18
+ };
19
+ export declare const translationFields: {
20
+ translation_target_languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
21
+ };
22
+ export declare function proSdkDefinitions(message: z.ZodType, user: z.ZodType): SdkDefinition[];