blitzreels 0.1.28 → 0.1.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,460 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { setTimeout as sleep } from "node:timers/promises";
3
+ import { BlitzReelsError, getPublishingPostSchema, publishingPostInputSchema, } from "@blitzreels/sdk";
4
+ import { CliOperationError, CliUsageError } from "../cli-errors.js";
5
+ import { commandSpec } from "../command-metadata.js";
6
+ import { resolvePublishingWaitOptions } from "./publishing-media.js";
7
+ export const PUBLISHING_POST_COMMAND_SPECS = [
8
+ commandSpec({
9
+ command: ["publishing", "posts", "schema"],
10
+ usage: "blitzreels publishing posts schema [--json]",
11
+ description: "Read the shared JSON post schema, provider settings and defaults offline.",
12
+ examples: ["blitzreels publishing posts schema --json"],
13
+ flags: [],
14
+ mutates: false,
15
+ requiresAuth: false,
16
+ }),
17
+ commandSpec({
18
+ command: ["publishing", "capabilities"],
19
+ usage: "blitzreels publishing capabilities [--json]",
20
+ description: "Read supported post formats, account limits and native Story sharing support.",
21
+ examples: ["blitzreels publishing capabilities --json"],
22
+ flags: [],
23
+ mutates: false,
24
+ }),
25
+ ...["create", "validate"].map((action) => commandSpec({
26
+ command: ["publishing", "posts", action],
27
+ usage: `blitzreels publishing posts ${action} --input-file PATH${action === "create" ? " --idempotency-key KEY [--dry-run]" : ""} [--json]`,
28
+ description: action === "create"
29
+ ? "Create one post with per-account settings from JSON; use - to read stdin. Requires a stable idempotency key."
30
+ : "Check accounts, media, captions, time and provider capabilities without creating a post; - reads stdin.",
31
+ examples: [
32
+ `blitzreels publishing posts ${action} --input-file post.json${action === "create" ? " --idempotency-key launch-2026-10-09 --dry-run" : ""} --json`,
33
+ ],
34
+ flags: [
35
+ { name: "input-file", type: "string", required: true },
36
+ ...(action === "create"
37
+ ? [
38
+ {
39
+ name: "idempotency-key",
40
+ type: "string",
41
+ required: true,
42
+ },
43
+ ]
44
+ : []),
45
+ ],
46
+ mutates: action === "create",
47
+ dryRunSupported: action === "create",
48
+ })),
49
+ ...["update", "schedule", "delete"].map((action) => commandSpec({
50
+ command: ["publishing", "drafts", action],
51
+ usage: `blitzreels publishing drafts ${action} --post-id ID --expected-revision ISO --idempotency-key KEY${action === "update" ? " --input-file PATH" : action === "schedule" ? " [--mode schedule|now] [--scheduled-for ISO]" : ""} [--dry-run] [--json]`,
52
+ description: action === "update"
53
+ ? "Replace an unscheduled draft with JSON; requires mode: draft."
54
+ : action === "schedule"
55
+ ? "Validate and schedule a saved draft, preserving its post ID."
56
+ : "Delete an unscheduled draft using its current revision.",
57
+ examples: [
58
+ `blitzreels publishing drafts ${action} --post-id "$POST_ID" --expected-revision "$REVISION" --idempotency-key draft-${action}-1${action === "update" ? " --input-file draft.json" : action === "schedule" ? " --mode now" : ""} --dry-run --json`,
59
+ ],
60
+ flags: [
61
+ { name: "post-id", required: true },
62
+ { name: "expected-revision", required: true },
63
+ { name: "idempotency-key", required: true },
64
+ ...(action === "update"
65
+ ? [{ name: "input-file", required: true }]
66
+ : []),
67
+ ...(action === "schedule"
68
+ ? [
69
+ { name: "mode", enum: ["schedule", "now"], default: "schedule" },
70
+ { name: "scheduled-for", required: false },
71
+ ]
72
+ : []),
73
+ ],
74
+ mutates: true,
75
+ destructive: action === "delete",
76
+ dryRunSupported: true,
77
+ })),
78
+ commandSpec({
79
+ command: ["publishing", "posts", "list"],
80
+ usage: "blitzreels publishing posts list [--status STATUS] [--limit 20] [--offset 0] [--json]",
81
+ description: "List workspace posts with bounded provider receipts and follow-ups.",
82
+ examples: [
83
+ "blitzreels publishing posts list --status scheduled --limit 20 --json",
84
+ ],
85
+ flags: [
86
+ { name: "limit", type: "number", default: 20 },
87
+ { name: "offset", type: "number", default: 0 },
88
+ {
89
+ name: "status",
90
+ type: "string",
91
+ required: false,
92
+ enum: [
93
+ "draft",
94
+ "scheduled",
95
+ "publishing",
96
+ "published",
97
+ "partially_published",
98
+ "draft_sent",
99
+ "failed",
100
+ "cancelled",
101
+ ],
102
+ },
103
+ ],
104
+ mutates: false,
105
+ }),
106
+ commandSpec({
107
+ command: ["publishing", "posts", "wait"],
108
+ usage: "blitzreels publishing posts wait --post-id ID [--interval-ms 10000] [--timeout-ms 600000] [--json]",
109
+ description: "Wait for all targets to finish; returns provider receipts. Failed, cancelled or manual steps exit nonzero. A timeout does not cancel the post.",
110
+ examples: [
111
+ 'blitzreels publishing posts wait --post-id "$POST_ID" --timeout-ms 600000 --json',
112
+ ],
113
+ flags: [
114
+ { name: "post-id", required: true },
115
+ { name: "interval-ms", type: "number", default: 10000 },
116
+ { name: "timeout-ms", type: "number", default: 600000 },
117
+ ],
118
+ mutates: false,
119
+ }),
120
+ ...["cancel", "retry", "reschedule"].map((action) => commandSpec({
121
+ command: ["publishing", "targets", action],
122
+ usage: `blitzreels publishing targets ${action} --target-id ID --expected-revision ISO --idempotency-key KEY${action === "reschedule" ? " --scheduled-for ISO" : ""} [--dry-run] [--json]`,
123
+ description: `${action === "cancel" ? "Cancel an unpublished" : action === "retry" ? "Retry an eligible failed" : "Reschedule an unpublished"} target using its current revision; preserves other targets.`,
124
+ examples: [
125
+ `blitzreels publishing targets ${action} --target-id "$TARGET_ID" --expected-revision "$REVISION" --idempotency-key ${action}-request-1${action === "reschedule" ? " --scheduled-for 2026-10-10T20:20:00Z" : ""} --dry-run --json`,
126
+ ],
127
+ flags: [
128
+ { name: "target-id", required: true },
129
+ { name: "expected-revision", required: true },
130
+ { name: "idempotency-key", required: true },
131
+ ...(action === "reschedule"
132
+ ? [{ name: "scheduled-for", required: true }]
133
+ : []),
134
+ ],
135
+ mutates: true,
136
+ destructive: action === "cancel",
137
+ dryRunSupported: true,
138
+ })),
139
+ ];
140
+ function readPostInput(context) {
141
+ const path = context.invocation.flags.requiredString({ name: "input-file" });
142
+ try {
143
+ const text = readFileSync(path === "-" ? 0 : path, "utf8");
144
+ if (Buffer.byteLength(text) > 1024 * 1024)
145
+ throw new Error("Post input must be at most 1 MiB.");
146
+ const parsed = publishingPostInputSchema.safeParse(JSON.parse(text));
147
+ if (!parsed.success)
148
+ throw new Error(parsed.error.issues
149
+ .map((issue) => `${issue.path.join(".")}: ${issue.message}`)
150
+ .join("; "));
151
+ return parsed.data;
152
+ }
153
+ catch (error) {
154
+ throw new CliUsageError({
155
+ code: "invalid_post_input",
156
+ message: error instanceof Error ? error.message : "Invalid post JSON.",
157
+ });
158
+ }
159
+ }
160
+ function readDraftInput(context) {
161
+ const input = readPostInput(context);
162
+ if (input.mode !== "draft")
163
+ throw new CliUsageError({
164
+ code: "invalid_post_input",
165
+ message: "Draft updates require mode: draft.",
166
+ });
167
+ return input;
168
+ }
169
+ function readDraftSchedule(context) {
170
+ const flags = context.invocation.flags;
171
+ if (flags.string({ name: "mode" }) === "now") {
172
+ if (flags.string({ name: "scheduled-for" }) !== undefined)
173
+ throw new CliUsageError({
174
+ code: "invalid_flag_value",
175
+ message: "Omit --scheduled-for with --mode now.",
176
+ });
177
+ return { mode: "now" };
178
+ }
179
+ return {
180
+ mode: "schedule",
181
+ scheduledFor: flags.requiredString({ name: "scheduled-for" }),
182
+ };
183
+ }
184
+ export async function waitForPublishingPost({ context, postId, intervalMs, timeoutMs, }) {
185
+ const deadline = Date.now() + timeoutMs;
186
+ for (;;) {
187
+ const post = await context.client.publishing.getPost({ postId });
188
+ if (post.status === "draft")
189
+ throw new CliUsageError({
190
+ code: "invalid_post_input",
191
+ message: "This post is an unscheduled draft. Schedule the draft before waiting for publication.",
192
+ });
193
+ if (!post.targets.some((target) => ["scheduled", "retrying", "publishing", "processing"].includes(target.status)))
194
+ return post;
195
+ const remaining = deadline - Date.now();
196
+ if (remaining <= 0)
197
+ throw new CliOperationError({
198
+ code: "timeout",
199
+ exitCode: 7,
200
+ retryable: true,
201
+ message: `Timed out waiting for post ${postId}. The post remains active.`,
202
+ suggestions: [
203
+ `blitzreels publishing posts get --post-id ${postId} --json`,
204
+ ],
205
+ });
206
+ await sleep(Math.min(intervalMs, remaining));
207
+ }
208
+ }
209
+ export function printPost({ context, helpers, post, }) {
210
+ helpers.printResult({
211
+ json: context.json,
212
+ value: post,
213
+ fields: context.fields,
214
+ human: [
215
+ `Post: ${post.post_id} (${post.status})`,
216
+ `When: ${post.scheduled_local ?? post.scheduled_for ?? "not scheduled"} (${post.timezone ?? "UTC"})`,
217
+ ...post.targets.flatMap((target) => [
218
+ `${target.platform} ${target.account_name ?? target.connection_id}: ${target.status} · ${target.publish_kind ?? target.requested_publish_kind ?? "pending format"}`,
219
+ ...(target.remote_post_url ? [target.remote_post_url] : []),
220
+ ...(target.error_message ? [target.error_message] : []),
221
+ ...(target.follow_ups ?? []).map((step) => `${step.status}: ${step.message}`),
222
+ ]),
223
+ ],
224
+ });
225
+ }
226
+ export function createPublishingPostsOperation(helpers) {
227
+ return {
228
+ name: "publishing-posts",
229
+ matches: ({ command }) => PUBLISHING_POST_COMMAND_SPECS.some((spec) => spec.command.join(" ") === command.join(" ")),
230
+ handle: async ({ context }) => {
231
+ const [, resource, action] = context.args.command;
232
+ const flags = context.invocation.flags;
233
+ if (resource === "posts" && action === "schema") {
234
+ const value = getPublishingPostSchema();
235
+ helpers.printResult({
236
+ json: context.json,
237
+ value,
238
+ fields: context.fields,
239
+ human: [JSON.stringify(value, null, 2)],
240
+ });
241
+ return true;
242
+ }
243
+ if (resource === "capabilities") {
244
+ const value = await context.client.publishing.capabilities();
245
+ helpers.printResult({
246
+ json: context.json,
247
+ value,
248
+ fields: context.fields,
249
+ human: value.platforms.map((platform) => `${platform.platform}: ${platform.formats.join(", ")}. ${platform.limitations.join(" ")}`),
250
+ });
251
+ return true;
252
+ }
253
+ if (resource === "posts" &&
254
+ (action === "create" || action === "validate")) {
255
+ const input = readPostInput(context);
256
+ if (action === "validate") {
257
+ const value = await context.client.publishing.validatePost(input);
258
+ helpers.printResult({
259
+ json: context.json,
260
+ value,
261
+ fields: context.fields,
262
+ human: [
263
+ value.valid
264
+ ? input.mode === "draft"
265
+ ? "Draft checks passed; scheduling revalidates provider settings"
266
+ : "Ready to schedule"
267
+ : "Post needs changes",
268
+ ...value.issues.map((issue) => `${issue.platform ?? "source"}: ${issue.message}`),
269
+ ...value.warnings.map((warning) => warning.message),
270
+ ],
271
+ });
272
+ if (!value.valid)
273
+ process.exitCode = 2;
274
+ }
275
+ else {
276
+ const create = () => context.client.publishing.createPost({
277
+ post: input,
278
+ idempotencyKey: flags.requiredString({ name: "idempotency-key" }),
279
+ });
280
+ let post;
281
+ try {
282
+ post = await create();
283
+ }
284
+ catch (error) {
285
+ if (!(error instanceof BlitzReelsError) ||
286
+ !error.retryable ||
287
+ error.details.reason !== "media_asset_processing" ||
288
+ input.source.type !== "media_asset")
289
+ throw error;
290
+ const { waitForPublishingVideo } = await import("./publishing-media.js");
291
+ await waitForPublishingVideo({
292
+ context,
293
+ assetId: input.source.media_asset_id,
294
+ ...resolvePublishingWaitOptions({
295
+ intervalMs: undefined,
296
+ timeoutMs: undefined,
297
+ }),
298
+ });
299
+ post = await create();
300
+ }
301
+ printPost({ context, helpers, post });
302
+ }
303
+ return true;
304
+ }
305
+ if (resource === "drafts") {
306
+ const options = {
307
+ postId: flags.requiredString({ name: "post-id" }),
308
+ expectedRevision: flags.requiredString({ name: "expected-revision" }),
309
+ idempotencyKey: flags.requiredString({ name: "idempotency-key" }),
310
+ };
311
+ if (action === "delete") {
312
+ const value = await context.client.publishing.deleteDraft(options);
313
+ helpers.printResult({
314
+ json: context.json,
315
+ value,
316
+ fields: context.fields,
317
+ human: [`Deleted draft ${value.post_id}`],
318
+ });
319
+ return true;
320
+ }
321
+ const post = action === "update"
322
+ ? await context.client.publishing.updateDraft({
323
+ ...options,
324
+ post: readDraftInput(context),
325
+ })
326
+ : await context.client.publishing.scheduleDraft({
327
+ ...options,
328
+ ...readDraftSchedule(context),
329
+ });
330
+ printPost({ context, helpers, post });
331
+ return true;
332
+ }
333
+ if (resource === "posts" && action === "list") {
334
+ const value = await context.client.publishing.listPosts({
335
+ limit: flags.number({ name: "limit" }),
336
+ offset: flags.number({ name: "offset" }),
337
+ status: flags.string({ name: "status" }),
338
+ });
339
+ helpers.printResult({
340
+ json: context.json,
341
+ value,
342
+ fields: context.fields,
343
+ human: value.posts.map((post) => `${post.post_id}: ${post.status} (${post.scheduled_for})`),
344
+ });
345
+ return true;
346
+ }
347
+ if (resource === "posts" && action === "wait") {
348
+ const post = await waitForPublishingPost({
349
+ context,
350
+ postId: flags.requiredString({ name: "post-id" }),
351
+ ...resolvePublishingWaitOptions({
352
+ intervalMs: flags.number({ name: "interval-ms" }) ?? 10000,
353
+ timeoutMs: flags.number({ name: "timeout-ms" }),
354
+ }),
355
+ });
356
+ printPost({ context, helpers, post });
357
+ if (post.targets.some((target) => ["failed", "cancelled", "manual_required"].includes(target.status) ||
358
+ target.follow_ups?.some((step) => step.status === "manual_required" ||
359
+ step.status === "blocked")))
360
+ process.exitCode = 7;
361
+ return true;
362
+ }
363
+ if (resource === "targets" &&
364
+ ["cancel", "retry", "reschedule"].includes(action ?? "")) {
365
+ const options = {
366
+ targetId: flags.requiredString({ name: "target-id" }),
367
+ expectedRevision: flags.requiredString({ name: "expected-revision" }),
368
+ idempotencyKey: flags.requiredString({ name: "idempotency-key" }),
369
+ };
370
+ const post = action === "reschedule"
371
+ ? await context.client.publishing.rescheduleTarget({
372
+ ...options,
373
+ scheduledFor: flags.requiredString({ name: "scheduled-for" }),
374
+ })
375
+ : action === "cancel"
376
+ ? await context.client.publishing.cancelTarget(options)
377
+ : await context.client.publishing.retryTarget(options);
378
+ printPost({ context, helpers, post });
379
+ return true;
380
+ }
381
+ return false;
382
+ },
383
+ buildDryRun: ({ context, spec }) => {
384
+ const [, resource, action] = context.args.command;
385
+ const flags = context.invocation.flags;
386
+ if (resource === "posts" && action === "create")
387
+ return helpers.dryRunRequest({
388
+ spec,
389
+ method: "POST",
390
+ path: "/publishing/posts",
391
+ body: readPostInput(context),
392
+ followUpRequests: undefined,
393
+ notes: [
394
+ "Sends Idempotency-Key. All targets are validated before the post is created.",
395
+ "Use publishing posts validate for live account and media checks.",
396
+ "Native Reel sharing to Stories requires a manual step after publication.",
397
+ ],
398
+ });
399
+ if (resource === "drafts") {
400
+ const schedule = action === "schedule" ? readDraftSchedule(context) : null;
401
+ return helpers.dryRunRequest({
402
+ spec,
403
+ method: action === "update"
404
+ ? "PATCH"
405
+ : action === "delete"
406
+ ? "DELETE"
407
+ : "POST",
408
+ path: `/publishing/posts/${encodeURIComponent(flags.requiredString({ name: "post-id" }))}/${action === "schedule" ? "schedule" : "draft"}`,
409
+ body: {
410
+ expected_revision: flags.requiredString({
411
+ name: "expected-revision",
412
+ }),
413
+ ...(action === "update"
414
+ ? { post: readDraftInput(context) }
415
+ : action === "schedule"
416
+ ? {
417
+ mode: schedule?.mode,
418
+ ...(schedule?.mode === "schedule"
419
+ ? { scheduled_for: schedule.scheduledFor }
420
+ : {}),
421
+ }
422
+ : {}),
423
+ },
424
+ followUpRequests: undefined,
425
+ notes: [
426
+ "Sends Idempotency-Key. Only drafts can be changed; stale revisions return a conflict.",
427
+ ...(action === "delete"
428
+ ? ["expected_revision is sent as a query parameter."]
429
+ : []),
430
+ ],
431
+ });
432
+ }
433
+ if (resource === "targets" &&
434
+ ["cancel", "retry", "reschedule"].includes(action ?? ""))
435
+ return helpers.dryRunRequest({
436
+ spec,
437
+ method: "POST",
438
+ path: `/publishing/targets/${encodeURIComponent(flags.requiredString({ name: "target-id" }))}/${action}`,
439
+ body: {
440
+ expected_revision: flags.requiredString({
441
+ name: "expected-revision",
442
+ }),
443
+ ...(action === "reschedule"
444
+ ? {
445
+ scheduled_for: flags.requiredString({
446
+ name: "scheduled-for",
447
+ }),
448
+ }
449
+ : {}),
450
+ },
451
+ followUpRequests: undefined,
452
+ notes: [
453
+ "Sends Idempotency-Key. A stale revision returns a conflict before changing the target.",
454
+ ],
455
+ });
456
+ return undefined;
457
+ },
458
+ };
459
+ }
460
+ //# sourceMappingURL=publishing-posts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishing-posts.js","sourceRoot":"","sources":["../../src/commands/publishing-posts.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,6 @@ import type { CliContext, Flags } from "../cli-types.js";
3
3
  import { type CommandSpec } from "../command-metadata.js";
4
4
  import type { DryRunPreview } from "../preview-first-edit.js";
5
5
  import type { CommandOperation } from "./command-operation.js";
6
- /**
7
- * Soft-gate: leave unset until Instagram publishing relaunch.
8
- * `BLITZREELS_PUBLISHING_AGENT_SURFACE=1` registers commands in agent-context.
9
- */
10
- export declare function isPublishingAgentSurfaceEnabled(): boolean;
11
6
  export declare const PUBLISHING_COMMAND_SPECS: CommandSpec[];
12
7
  export type PublishingCommandHelpers = {
13
8
  dryRunRequest: (params: {
@@ -1 +1 @@
1
- {"version":3,"file":"publishing.d.ts","sourceRoot":"","sources":["../../src/commands/publishing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,yBAAyB,EAG1B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;GAGG;AACH,wBAAgB,+BAA+B,IAAI,OAAO,CAEzD;AAED,eAAO,MAAM,wBAAwB,EAAE,WAAW,EAkJjD,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,aAAa,EAAE,CAAC,MAAM,EAAE;QACtB,IAAI,EAAE,WAAW,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,OAAO,CAAC;QACd,gBAAgB,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAC;QAClE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;KAC7B,KAAK,aAAa,CAAC;IACpB,cAAc,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;IACpE,aAAa,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,GAAG,SAAS,CAAC;IAC9E,aAAa,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,GAAG,SAAS,CAAC;IAC9E,YAAY,EAAE,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,KAAK,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3B,WAAW,EAAE,CAAC,MAAM,EAAE;QACpB,IAAI,EAAE,OAAO,CAAC;QACd,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;KAC9B,KAAK,IAAI,CAAC;IACX,iBAAiB,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;IACtE,oBAAoB,EAAE,CAAC,MAAM,EAAE;QAC7B,OAAO,EAAE,UAAU,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,kBAAkB,EAAE,OAAO,GAAG,SAAS,CAAC;QACxC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC;QACpC,2BAA2B,EAAE,OAAO,GAAG,SAAS,CAAC;QACjD,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAC;KACxC,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAC;CAC1C,CAAC;AAuQF,wBAAgB,gCAAgC,CAAC,EAC/C,OAAO,GACR,EAAE;IACD,OAAO,EAAE,wBAAwB,CAAC;CACnC,GAAG,gBAAgB,CA8fnB"}
1
+ {"version":3,"file":"publishing.d.ts","sourceRoot":"","sources":["../../src/commands/publishing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,yBAAyB,EAI1B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAW/D,eAAO,MAAM,wBAAwB,EAAE,WAAW,EAuLjD,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,aAAa,EAAE,CAAC,MAAM,EAAE;QACtB,IAAI,EAAE,WAAW,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,OAAO,CAAC;QACd,gBAAgB,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAC;QAClE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;KAC7B,KAAK,aAAa,CAAC;IACpB,cAAc,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;IACpE,aAAa,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,GAAG,SAAS,CAAC;IAC9E,aAAa,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,GAAG,SAAS,CAAC;IAC9E,YAAY,EAAE,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,KAAK,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3B,WAAW,EAAE,CAAC,MAAM,EAAE;QACpB,IAAI,EAAE,OAAO,CAAC;QACd,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;KAC9B,KAAK,IAAI,CAAC;IACX,iBAAiB,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;IACtE,oBAAoB,EAAE,CAAC,MAAM,EAAE;QAC7B,OAAO,EAAE,UAAU,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,kBAAkB,EAAE,OAAO,GAAG,SAAS,CAAC;QACxC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC;QACpC,2BAA2B,EAAE,OAAO,GAAG,SAAS,CAAC;QACjD,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAC;KACxC,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAC;CAC1C,CAAC;AA2TF,wBAAgB,gCAAgC,CAAC,EAC/C,OAAO,GACR,EAAE;IACD,OAAO,EAAE,wBAAwB,CAAC;CACnC,GAAG,gBAAgB,CA6lBnB"}