@opencoredev/social-sdk 0.1.2 → 0.2.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.
Files changed (154) hide show
  1. package/README.md +6 -0
  2. package/dist/cli.d.ts +14 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +235 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/cloud/common.d.ts +26 -0
  7. package/dist/cloud/common.d.ts.map +1 -0
  8. package/dist/cloud/common.js +335 -0
  9. package/dist/cloud/common.js.map +1 -0
  10. package/dist/cloud/lifecycle.d.ts +11 -0
  11. package/dist/cloud/lifecycle.d.ts.map +1 -0
  12. package/dist/cloud/lifecycle.js +113 -0
  13. package/dist/cloud/lifecycle.js.map +1 -0
  14. package/dist/cloud/media.d.ts +24 -0
  15. package/dist/cloud/media.d.ts.map +1 -0
  16. package/dist/cloud/media.js +101 -0
  17. package/dist/cloud/media.js.map +1 -0
  18. package/dist/cloud/outcomes.d.ts +10 -0
  19. package/dist/cloud/outcomes.d.ts.map +1 -0
  20. package/dist/cloud/outcomes.js +196 -0
  21. package/dist/cloud/outcomes.js.map +1 -0
  22. package/dist/cloud/post-for-me.d.ts +70 -0
  23. package/dist/cloud/post-for-me.d.ts.map +1 -0
  24. package/dist/cloud/post-for-me.js +397 -0
  25. package/dist/cloud/post-for-me.js.map +1 -0
  26. package/dist/cloud/zernio.d.ts +112 -0
  27. package/dist/cloud/zernio.d.ts.map +1 -0
  28. package/dist/cloud/zernio.js +633 -0
  29. package/dist/cloud/zernio.js.map +1 -0
  30. package/dist/core/adapter.d.ts +159 -0
  31. package/dist/core/adapter.d.ts.map +1 -0
  32. package/dist/core/adapter.js +4 -0
  33. package/dist/core/adapter.js.map +1 -0
  34. package/dist/core/client.d.ts +142 -0
  35. package/dist/core/client.d.ts.map +1 -0
  36. package/dist/core/client.js +1286 -0
  37. package/dist/core/client.js.map +1 -0
  38. package/dist/core/concurrency.d.ts +10 -0
  39. package/dist/core/concurrency.d.ts.map +1 -0
  40. package/dist/core/concurrency.js +80 -0
  41. package/dist/core/concurrency.js.map +1 -0
  42. package/dist/core/errors.d.ts +45 -0
  43. package/dist/core/errors.d.ts.map +1 -0
  44. package/dist/core/errors.js +51 -0
  45. package/dist/core/errors.js.map +1 -0
  46. package/dist/core/idempotency.d.ts +34 -0
  47. package/dist/core/idempotency.d.ts.map +1 -0
  48. package/dist/core/idempotency.js +59 -0
  49. package/dist/core/idempotency.js.map +1 -0
  50. package/dist/core/index.d.ts +7 -0
  51. package/dist/core/index.d.ts.map +1 -0
  52. package/dist/core/index.js +7 -0
  53. package/dist/core/index.js.map +1 -0
  54. package/dist/core/pagination.d.ts +12 -0
  55. package/dist/core/pagination.d.ts.map +1 -0
  56. package/dist/core/pagination.js +82 -0
  57. package/dist/core/pagination.js.map +1 -0
  58. package/dist/core/types.d.ts +397 -0
  59. package/dist/core/types.d.ts.map +1 -0
  60. package/dist/core/types.js +17 -0
  61. package/dist/core/types.js.map +1 -0
  62. package/dist/index.d.ts +2 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +2 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/platforms/bluesky.d.ts +262 -0
  67. package/dist/platforms/bluesky.d.ts.map +1 -0
  68. package/dist/platforms/bluesky.js +1777 -0
  69. package/dist/platforms/bluesky.js.map +1 -0
  70. package/dist/platforms/instagram.d.ts +130 -0
  71. package/dist/platforms/instagram.d.ts.map +1 -0
  72. package/dist/platforms/instagram.js +1032 -0
  73. package/dist/platforms/instagram.js.map +1 -0
  74. package/dist/platforms/linkedin.d.ts +109 -0
  75. package/dist/platforms/linkedin.d.ts.map +1 -0
  76. package/dist/platforms/linkedin.js +891 -0
  77. package/dist/platforms/linkedin.js.map +1 -0
  78. package/dist/platforms/threads.d.ts +135 -0
  79. package/dist/platforms/threads.d.ts.map +1 -0
  80. package/dist/platforms/threads.js +946 -0
  81. package/dist/platforms/threads.js.map +1 -0
  82. package/dist/platforms/tiktok.d.ts +32 -0
  83. package/dist/platforms/tiktok.d.ts.map +1 -0
  84. package/dist/platforms/tiktok.js +594 -0
  85. package/dist/platforms/tiktok.js.map +1 -0
  86. package/dist/platforms/x-engagement.d.ts +17 -0
  87. package/dist/platforms/x-engagement.d.ts.map +1 -0
  88. package/dist/platforms/x-engagement.js +51 -0
  89. package/dist/platforms/x-engagement.js.map +1 -0
  90. package/dist/platforms/x.d.ts +300 -0
  91. package/dist/platforms/x.d.ts.map +1 -0
  92. package/dist/platforms/x.js +1288 -0
  93. package/dist/platforms/x.js.map +1 -0
  94. package/dist/platforms/youtube-upload.d.ts +33 -0
  95. package/dist/platforms/youtube-upload.d.ts.map +1 -0
  96. package/dist/platforms/youtube-upload.js +297 -0
  97. package/dist/platforms/youtube-upload.js.map +1 -0
  98. package/dist/platforms/youtube.d.ts +109 -0
  99. package/dist/platforms/youtube.d.ts.map +1 -0
  100. package/dist/platforms/youtube.js +1101 -0
  101. package/dist/platforms/youtube.js.map +1 -0
  102. package/dist/server/connections.d.ts +124 -0
  103. package/dist/server/connections.d.ts.map +1 -0
  104. package/dist/server/connections.js +336 -0
  105. package/dist/server/connections.js.map +1 -0
  106. package/dist/server/credentials.d.ts +52 -0
  107. package/dist/server/credentials.d.ts.map +1 -0
  108. package/dist/server/credentials.js +109 -0
  109. package/dist/server/credentials.js.map +1 -0
  110. package/dist/server/index.d.ts +5 -0
  111. package/dist/server/index.d.ts.map +1 -0
  112. package/dist/server/index.js +5 -0
  113. package/dist/server/index.js.map +1 -0
  114. package/dist/server/oauth.d.ts +53 -0
  115. package/dist/server/oauth.d.ts.map +1 -0
  116. package/dist/server/oauth.js +554 -0
  117. package/dist/server/oauth.js.map +1 -0
  118. package/dist/server/webhooks.d.ts +58 -0
  119. package/dist/server/webhooks.d.ts.map +1 -0
  120. package/dist/server/webhooks.js +205 -0
  121. package/dist/server/webhooks.js.map +1 -0
  122. package/dist/testing/index.d.ts +47 -0
  123. package/dist/testing/index.d.ts.map +1 -0
  124. package/dist/testing/index.js +565 -0
  125. package/dist/testing/index.js.map +1 -0
  126. package/dist/testing.d.ts +2 -0
  127. package/dist/testing.d.ts.map +1 -0
  128. package/dist/testing.js +2 -0
  129. package/dist/testing.js.map +1 -0
  130. package/dist/transport/binary.d.ts +3 -0
  131. package/dist/transport/binary.d.ts.map +1 -0
  132. package/dist/transport/binary.js +30 -0
  133. package/dist/transport/binary.js.map +1 -0
  134. package/dist/transport/budget.d.ts +4 -0
  135. package/dist/transport/budget.d.ts.map +1 -0
  136. package/dist/transport/budget.js +27 -0
  137. package/dist/transport/budget.js.map +1 -0
  138. package/dist/transport/http.d.ts +45 -0
  139. package/dist/transport/http.d.ts.map +1 -0
  140. package/dist/transport/http.js +260 -0
  141. package/dist/transport/http.js.map +1 -0
  142. package/dist/transport/json.d.ts +9 -0
  143. package/dist/transport/json.d.ts.map +1 -0
  144. package/dist/transport/json.js +17 -0
  145. package/dist/transport/json.js.map +1 -0
  146. package/dist/transport/upload.d.ts +26 -0
  147. package/dist/transport/upload.d.ts.map +1 -0
  148. package/dist/transport/upload.js +154 -0
  149. package/dist/transport/upload.js.map +1 -0
  150. package/dist/transport/validation.d.ts +6 -0
  151. package/dist/transport/validation.d.ts.map +1 -0
  152. package/dist/transport/validation.js +25 -0
  153. package/dist/transport/validation.js.map +1 -0
  154. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x.js","sourceRoot":"","sources":["../../src/platforms/x.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { JsonObject, MediaAttachment } from "../core/types.js";
2
+ export interface YouTubeUploadSession {
3
+ /** Secret upload URI. Store server-side; never serialize into public references. */
4
+ readonly url: string;
5
+ readonly size: number;
6
+ readonly mimeType: string;
7
+ readonly channelId: string;
8
+ }
9
+ export interface YouTubeUploadOptions {
10
+ accessToken: string;
11
+ fetch?: typeof globalThis.fetch;
12
+ signal?: AbortSignal;
13
+ timeoutMs?: number;
14
+ /** Internal absolute deadline shared by a resumable invocation. */
15
+ readonly deadlineAt?: number;
16
+ }
17
+ export declare function beginYouTubeUpload(input: {
18
+ channelId: string;
19
+ size: number;
20
+ mimeType: string;
21
+ metadata: JsonObject;
22
+ }, options: YouTubeUploadOptions): Promise<YouTubeUploadSession>;
23
+ export type YouTubeUploadStatus = {
24
+ state: "incomplete";
25
+ nextByte: number;
26
+ } | {
27
+ state: "complete";
28
+ video: Record<string, unknown>;
29
+ };
30
+ export declare function queryYouTubeUpload(session: YouTubeUploadSession, options: YouTubeUploadOptions): Promise<YouTubeUploadStatus>;
31
+ /** Explicit resumption reopens the caller's replayable source and skips confirmed bytes. */
32
+ export declare function sendYouTubeUpload(session: YouTubeUploadSession, media: MediaAttachment, options: YouTubeUploadOptions, startByte?: number): Promise<YouTubeUploadStatus>;
33
+ //# sourceMappingURL=youtube-upload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"youtube-upload.d.ts","sourceRoot":"","sources":["../../src/platforms/youtube-upload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAIpE,MAAM,WAAW,oBAAoB;IACnC,oFAAoF;IACpF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AA0ND,wBAAsB,kBAAkB,CACtC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,UAAU,CAAA;CAAE,EAClF,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CAiC/B;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAEzC;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AA2B1D,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAW9B;AAED,4FAA4F;AAC5F,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,oBAAoB,EAC7B,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,oBAAoB,EAC7B,SAAS,SAAI,GACZ,OAAO,CAAC,mBAAmB,CAAC,CAuH9B"}
@@ -0,0 +1,297 @@
1
+ import { SocialError } from "../core/errors.js";
2
+ import { readJson } from "../transport/http.js";
3
+ import { array, object, optionalString, string } from "../transport/validation.js";
4
+ const deadlines = new WeakMap();
5
+ function deadlineFor(options) {
6
+ if (options.deadlineAt !== undefined)
7
+ return options.deadlineAt;
8
+ const existing = deadlines.get(options);
9
+ if (existing !== undefined)
10
+ return existing;
11
+ const deadline = Date.now() + (options.timeoutMs ?? 120_000);
12
+ deadlines.set(options, deadline);
13
+ return deadline;
14
+ }
15
+ function remaining(options) {
16
+ const limit = deadlineFor(options);
17
+ return limit - Date.now();
18
+ }
19
+ async function bounded(operation, timeoutMs, message, signal) {
20
+ if (timeoutMs <= 0) {
21
+ operation.catch(() => undefined);
22
+ throw new SocialError({
23
+ code: "timeout",
24
+ operation: "youtube.upload",
25
+ message,
26
+ retryDisposition: { kind: "reconcile-first" },
27
+ });
28
+ }
29
+ let timer;
30
+ const timeout = new Promise((_, reject) => {
31
+ timer = setTimeout(() => reject(new SocialError({
32
+ code: "timeout",
33
+ operation: "youtube.upload",
34
+ message,
35
+ retryDisposition: { kind: "reconcile-first" },
36
+ })), timeoutMs);
37
+ });
38
+ operation.catch(() => undefined);
39
+ const cancelled = signal
40
+ ? new Promise((_, reject) => signal.addEventListener("abort", () => reject(new SocialError({
41
+ code: "cancelled",
42
+ operation: "youtube.upload",
43
+ message: "Upload was cancelled.",
44
+ retryDisposition: { kind: "never" },
45
+ })), { once: true }))
46
+ : undefined;
47
+ try {
48
+ return await Promise.race(cancelled ? [operation, timeout, cancelled] : [operation, timeout]);
49
+ }
50
+ finally {
51
+ if (timer)
52
+ clearTimeout(timer);
53
+ }
54
+ }
55
+ function sessionUrl(value) {
56
+ const url = new URL(value);
57
+ if (url.origin !== "https://www.googleapis.com" ||
58
+ url.pathname !== "/upload/youtube/v3/videos" ||
59
+ url.username ||
60
+ url.password) {
61
+ throw new SocialError({
62
+ code: "media_error",
63
+ operation: "youtube.upload",
64
+ message: "YouTube returned an unexpected upload origin or route.",
65
+ });
66
+ }
67
+ return url;
68
+ }
69
+ async function uploadRequest(url, init, options) {
70
+ if (options.signal?.aborted)
71
+ throw new SocialError({
72
+ code: "cancelled",
73
+ operation: "youtube.upload",
74
+ message: "Upload was cancelled before this request.",
75
+ });
76
+ if (remaining(options) <= 0)
77
+ throw new SocialError({
78
+ code: "timeout",
79
+ operation: "youtube.upload",
80
+ message: "YouTube upload deadline expired before dispatch.",
81
+ retryDisposition: { kind: "reconcile-first" },
82
+ });
83
+ const controller = new AbortController();
84
+ const abort = () => controller.abort(options.signal?.reason);
85
+ options.signal?.addEventListener("abort", abort, { once: true });
86
+ const timer = setTimeout(() => controller.abort(), remaining(options));
87
+ try {
88
+ const response = await bounded((options.fetch ?? globalThis.fetch)(url, {
89
+ ...init,
90
+ headers: { Authorization: `Bearer ${options.accessToken}`, ...init.headers },
91
+ signal: controller.signal,
92
+ redirect: "error",
93
+ }), remaining(options), "YouTube upload request exceeded its total deadline.", options.signal);
94
+ // Read response within the deadline, then return a bounded in-memory response.
95
+ if (response.status === 308) {
96
+ void response.body?.cancel().catch(() => undefined);
97
+ return new Response(null, { status: response.status, headers: response.headers });
98
+ }
99
+ if (!response.ok) {
100
+ let reason;
101
+ try {
102
+ const payload = object(await readJson(response.clone(), 64 * 1024));
103
+ // Google nests reasons under error.errors; accept a top-level list too.
104
+ const errors = array(payload["error"] === undefined ? payload["errors"] : object(payload["error"])["errors"]);
105
+ const first = errors[0];
106
+ if (first !== undefined)
107
+ reason = optionalString(object(first)["reason"]);
108
+ }
109
+ catch {
110
+ // Preserve the HTTP status when the provider omits a parseable error body.
111
+ }
112
+ void response.body?.cancel().catch(() => undefined);
113
+ throw new SocialError({
114
+ code: response.status === 401
115
+ ? "reconnect_required"
116
+ : reason === "quotaExceeded"
117
+ ? "rate_limited"
118
+ : response.status >= 500
119
+ ? "ambiguous_outcome"
120
+ : "media_error",
121
+ operation: "youtube.upload",
122
+ message: `YouTube upload request failed with HTTP ${response.status}.`,
123
+ upstreamStatus: response.status,
124
+ retryDisposition: response.status >= 500
125
+ ? { kind: "reconcile-first" }
126
+ : response.status === 401
127
+ ? { kind: "after-reconnect" }
128
+ : { kind: "never" },
129
+ });
130
+ }
131
+ if (response.status === 204 || response.headers.get("content-length") === "0") {
132
+ void response.body?.cancel().catch(() => undefined);
133
+ return new Response(null, { status: response.status, headers: response.headers });
134
+ }
135
+ if (init.method === "POST") {
136
+ void response.body?.cancel().catch(() => undefined);
137
+ return new Response(null, { status: response.status, headers: response.headers });
138
+ }
139
+ const body = await bounded(readJson(response, 2 * 1024 * 1024, controller.signal), remaining(options), "YouTube upload response exceeded its total deadline.", options.signal);
140
+ return Response.json(body, { status: response.status, headers: response.headers });
141
+ }
142
+ catch (error) {
143
+ if (error instanceof SocialError)
144
+ throw error;
145
+ throw new SocialError({
146
+ code: "ambiguous_outcome",
147
+ operation: "youtube.upload",
148
+ message: "YouTube upload acceptance is uncertain. Query the saved session before resuming.",
149
+ retryDisposition: { kind: "reconcile-first" },
150
+ });
151
+ }
152
+ finally {
153
+ clearTimeout(timer);
154
+ options.signal?.removeEventListener("abort", abort);
155
+ }
156
+ }
157
+ export async function beginYouTubeUpload(input, options) {
158
+ if (!Number.isSafeInteger(input.size) ||
159
+ input.size <= 0 ||
160
+ input.size > 274877906944 ||
161
+ !input.mimeType.startsWith("video/"))
162
+ throw new SocialError({
163
+ code: "invalid_input",
164
+ operation: "youtube.upload",
165
+ message: "Provide a positive video byte size no larger than 256 GiB and its video MIME type.",
166
+ });
167
+ const response = await uploadRequest(new URL("https://www.googleapis.com/upload/youtube/v3/videos?uploadType=resumable&part=snippet,status,processingDetails"), {
168
+ method: "POST",
169
+ headers: {
170
+ "Content-Type": "application/json; charset=UTF-8",
171
+ "X-Upload-Content-Length": String(input.size),
172
+ "X-Upload-Content-Type": input.mimeType,
173
+ },
174
+ body: JSON.stringify(input.metadata),
175
+ }, options);
176
+ const url = string(response.headers.get("location"));
177
+ sessionUrl(url);
178
+ return { url, size: input.size, mimeType: input.mimeType, channelId: input.channelId };
179
+ }
180
+ async function statusFrom(response) {
181
+ if (response.status !== 308)
182
+ return { state: "complete", video: object(await response.json()) };
183
+ const range = response.headers.get("range");
184
+ if (!range)
185
+ return { state: "incomplete", nextByte: 0 };
186
+ const matched = /^bytes=0-(\d+)$/.exec(range);
187
+ if (!matched?.[1])
188
+ throw new SocialError({
189
+ code: "media_error",
190
+ operation: "youtube.upload",
191
+ message: "YouTube returned an invalid upload range.",
192
+ });
193
+ const nextByte = Number(matched[1]) + 1;
194
+ if (!Number.isSafeInteger(nextByte))
195
+ throw new SocialError({
196
+ code: "media_error",
197
+ operation: "youtube.upload",
198
+ message: "YouTube returned an invalid upload offset.",
199
+ });
200
+ return { state: "incomplete", nextByte };
201
+ }
202
+ export async function queryYouTubeUpload(session, options) {
203
+ return statusFrom(await uploadRequest(sessionUrl(session.url), {
204
+ method: "PUT",
205
+ headers: { "Content-Range": `bytes */${session.size}`, "Content-Length": "0" },
206
+ }, options));
207
+ }
208
+ /** Explicit resumption reopens the caller's replayable source and skips confirmed bytes. */
209
+ export async function sendYouTubeUpload(session, media, options, startByte = 0) {
210
+ if (!Number.isSafeInteger(startByte) || startByte < 0 || startByte >= session.size)
211
+ throw new SocialError({
212
+ code: "invalid_input",
213
+ operation: "youtube.upload",
214
+ message: "Resume at a confirmed offset within the file.",
215
+ });
216
+ const operationOptions = options;
217
+ const source = media.source;
218
+ if (source.kind !== "blob" && source.kind !== "stream")
219
+ throw new SocialError({
220
+ code: "invalid_input",
221
+ operation: "youtube.upload",
222
+ message: "Direct YouTube uploads require a Blob or replayable stream; remote URLs are not fetched.",
223
+ });
224
+ const reader = (source.kind === "blob" ? source.blob.stream() : source.open()).getReader();
225
+ const chunkBytes = 8 * 1024 * 1024;
226
+ let buffered = new Uint8Array(0);
227
+ let cursor = 0;
228
+ let offset = startByte;
229
+ let skipped = 0;
230
+ let ended = false;
231
+ try {
232
+ while (offset < session.size) {
233
+ const wanted = Math.min(chunkBytes, session.size - offset);
234
+ const chunk = new Uint8Array(wanted);
235
+ let written = 0;
236
+ while (written < wanted) {
237
+ operationOptions.signal?.throwIfAborted();
238
+ if (cursor === buffered.byteLength) {
239
+ const next = await bounded(reader.read(), remaining(operationOptions), "YouTube upload source exceeded its total deadline.", operationOptions.signal);
240
+ if (next.done) {
241
+ ended = true;
242
+ break;
243
+ }
244
+ buffered = new Uint8Array(next.value);
245
+ cursor = 0;
246
+ }
247
+ if (skipped < startByte) {
248
+ const skip = Math.min(startByte - skipped, buffered.byteLength - cursor);
249
+ skipped += skip;
250
+ cursor += skip;
251
+ continue;
252
+ }
253
+ const take = Math.min(wanted - written, buffered.byteLength - cursor);
254
+ chunk.set(buffered.subarray(cursor, cursor + take), written);
255
+ written += take;
256
+ cursor += take;
257
+ }
258
+ if (ended || written !== wanted)
259
+ throw new SocialError({
260
+ code: "media_error",
261
+ operation: "youtube.upload",
262
+ message: "Source ended before its declared byte size.",
263
+ });
264
+ if (offset + wanted === session.size) {
265
+ // Confirm the declared size before sending the chunk that finalizes publication.
266
+ if (cursor < buffered.byteLength ||
267
+ !(await bounded(reader.read(), remaining(operationOptions), "YouTube upload source exceeded its total deadline.", operationOptions.signal)).done) {
268
+ throw new SocialError({
269
+ code: "media_error",
270
+ operation: "youtube.upload",
271
+ message: "Source exceeds its declared byte size.",
272
+ });
273
+ }
274
+ }
275
+ const result = await statusFrom(await uploadRequest(sessionUrl(session.url), {
276
+ method: "PUT",
277
+ headers: {
278
+ "Content-Type": session.mimeType,
279
+ "Content-Length": String(wanted),
280
+ "Content-Range": `bytes ${offset}-${offset + wanted - 1}/${session.size}`,
281
+ },
282
+ body: chunk,
283
+ }, operationOptions));
284
+ if (result.state === "complete")
285
+ return result;
286
+ if (result.nextByte !== offset + wanted)
287
+ return result;
288
+ offset = result.nextByte;
289
+ }
290
+ return { state: "incomplete", nextByte: offset };
291
+ }
292
+ finally {
293
+ void reader.cancel().catch(() => undefined);
294
+ reader.releaseLock();
295
+ }
296
+ }
297
+ //# sourceMappingURL=youtube-upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"youtube-upload.js","sourceRoot":"","sources":["../../src/platforms/youtube-upload.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ import type { AdapterOperationContext, JsonObject, MediaAttachment } from "../core/types.js";
2
+ import { type YouTubeUploadSession } from "./youtube-upload.js";
3
+ export interface YouTubeOptions {
4
+ readonly auth: {
5
+ readonly accessToken: string;
6
+ readonly channelId: string;
7
+ };
8
+ readonly fetch?: typeof globalThis.fetch;
9
+ readonly clock?: () => Date;
10
+ /** Persist secret resumable URI server-side before uploading any video bytes. */
11
+ readonly saveUploadSession?: (session: YouTubeUploadSession) => Promise<void>;
12
+ }
13
+ export interface YouTubeNative {
14
+ readonly resumeUpload: (session: YouTubeUploadSession, media: MediaAttachment, context: AdapterOperationContext) => Promise<unknown>;
15
+ readonly queryUpload: (session: YouTubeUploadSession, context: AdapterOperationContext) => Promise<unknown>;
16
+ readonly setThumbnail: (input: {
17
+ readonly videoId: string;
18
+ readonly thumbnail: MediaAttachment;
19
+ readonly context: AdapterOperationContext;
20
+ }) => Promise<JsonObject>;
21
+ readonly captions: (input: {
22
+ readonly action: "list" | "insert" | "update" | "delete" | "download";
23
+ readonly videoId: string;
24
+ readonly caption?: MediaAttachment;
25
+ readonly captionId?: string;
26
+ readonly body?: JsonObject;
27
+ readonly context: AdapterOperationContext;
28
+ }) => Promise<JsonObject | Blob>;
29
+ readonly playlists: (input: {
30
+ readonly action: "list" | "insert" | "update" | "delete";
31
+ readonly playlistId?: string;
32
+ readonly channelId?: string;
33
+ readonly mine?: boolean;
34
+ readonly pageToken?: string;
35
+ readonly maxResults?: number;
36
+ readonly body?: JsonObject;
37
+ readonly context: AdapterOperationContext;
38
+ }) => Promise<JsonObject>;
39
+ readonly playlistItems: (input: {
40
+ readonly action: "list" | "insert" | "update" | "delete";
41
+ readonly playlistId?: string;
42
+ readonly playlistItemId?: string;
43
+ readonly body?: JsonObject;
44
+ readonly pageToken?: string;
45
+ readonly context: AdapterOperationContext;
46
+ }) => Promise<JsonObject>;
47
+ readonly rateVideo: (input: {
48
+ readonly videoId: string;
49
+ readonly rating: "like" | "dislike" | "none";
50
+ readonly context: AdapterOperationContext;
51
+ }) => Promise<void>;
52
+ readonly getRating: (input: {
53
+ readonly videoIds: readonly string[];
54
+ readonly context: AdapterOperationContext;
55
+ }) => Promise<JsonObject>;
56
+ readonly subscriptions: (input: {
57
+ readonly action: "list" | "insert" | "delete";
58
+ readonly subscriptionId?: string;
59
+ readonly channelId?: string;
60
+ readonly pageToken?: string;
61
+ readonly context: AdapterOperationContext;
62
+ }) => Promise<JsonObject>;
63
+ readonly search: (input: {
64
+ readonly q: string;
65
+ readonly type?: string;
66
+ readonly channelId?: string;
67
+ readonly order?: string;
68
+ readonly publishedAfter?: string;
69
+ readonly publishedBefore?: string;
70
+ readonly pageToken?: string;
71
+ readonly maxResults?: number;
72
+ readonly context: AdapterOperationContext;
73
+ }) => Promise<JsonObject>;
74
+ readonly commentsModeration: (input: {
75
+ readonly action: "setModerationStatus" | "delete" | "update";
76
+ readonly commentId: string;
77
+ readonly moderationStatus?: "published" | "heldForReview" | "rejected";
78
+ readonly banAuthor?: boolean;
79
+ readonly body?: JsonObject;
80
+ readonly context: AdapterOperationContext;
81
+ }) => Promise<JsonObject | void>;
82
+ readonly heldComments: (input: {
83
+ readonly pageToken?: string;
84
+ readonly maxResults?: number;
85
+ readonly context: AdapterOperationContext;
86
+ }) => Promise<JsonObject>;
87
+ readonly updateVideo: (input: {
88
+ readonly videoId: string;
89
+ readonly body: JsonObject;
90
+ readonly context: AdapterOperationContext;
91
+ }) => Promise<JsonObject>;
92
+ readonly deleteVideo: (input: {
93
+ readonly videoId: string;
94
+ readonly context: AdapterOperationContext;
95
+ }) => Promise<void>;
96
+ readonly analytics: (input: {
97
+ readonly query: Record<string, string>;
98
+ readonly context: AdapterOperationContext;
99
+ }) => Promise<JsonObject>;
100
+ readonly liveBroadcasts: (input: {
101
+ readonly action: "list" | "insert" | "transition";
102
+ readonly body?: JsonObject;
103
+ readonly id?: string;
104
+ readonly broadcastStatus?: "testing" | "live" | "complete";
105
+ readonly context: AdapterOperationContext;
106
+ }) => Promise<JsonObject>;
107
+ }
108
+ export declare function youtube(options: YouTubeOptions): import("../core/adapter.js").SocialAdapter<YouTubeNative>;
109
+ //# sourceMappingURL=youtube.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"youtube.d.ts","sourceRoot":"","sources":["../../src/platforms/youtube.ts"],"names":[],"mappings":"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"}