twentythree-cli 1.3.3 → 1.3.5
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/dist/commands/app/add.cjs +5 -0
- package/dist/commands/seo/get.cjs +58 -0
- package/dist/commands/seo/status.cjs +59 -0
- package/dist/commands/seo/update.cjs +91 -0
- package/dist/commands/video/section/check-generate-available.cjs +67 -0
- package/dist/commands/webinar/create.cjs +5 -0
- package/dist/commands/webinar/repeat.cjs +5 -0
- package/dist/commands/webinar/update.cjs +7 -1
- package/docs/commands/action/add.md +1 -1
- package/docs/commands/action/delete.md +1 -1
- package/docs/commands/action/exclude.md +1 -1
- package/docs/commands/action/get.md +1 -1
- package/docs/commands/action/include.md +1 -1
- package/docs/commands/action/list.md +1 -1
- package/docs/commands/action/types.md +1 -1
- package/docs/commands/action/update.md +1 -1
- package/docs/commands/action/upload.md +1 -1
- package/docs/commands/action.md +9 -9
- package/docs/commands/analytics/conversions.md +3 -3
- package/docs/commands/analytics/live.md +9 -9
- package/docs/commands/analytics/usage.md +18 -18
- package/docs/commands/analytics/video.md +12 -12
- package/docs/commands/analytics.md +42 -42
- package/docs/commands/app/add.md +3 -2
- package/docs/commands/app/delete.md +1 -1
- package/docs/commands/app/list.md +1 -1
- package/docs/commands/app/remove-thumbnail.md +1 -1
- package/docs/commands/app/set-thumbnail.md +1 -1
- package/docs/commands/app/update.md +1 -1
- package/docs/commands/app.md +6 -6
- package/docs/commands/audience/companies.md +1 -1
- package/docs/commands/audience/field.md +4 -4
- package/docs/commands/audience/funnel.md +1 -1
- package/docs/commands/audience/identity-sources.md +1 -1
- package/docs/commands/audience/list-collectors.md +1 -1
- package/docs/commands/audience/list.md +1 -1
- package/docs/commands/audience/metrics.md +1 -1
- package/docs/commands/audience/register.md +1 -1
- package/docs/commands/audience/remove.md +1 -1
- package/docs/commands/audience/search.md +1 -1
- package/docs/commands/audience/timelines.md +1 -1
- package/docs/commands/audience/unregister.md +1 -1
- package/docs/commands/audience.md +15 -15
- package/docs/commands/auth/credentials.md +1 -1
- package/docs/commands/auth/status.md +1 -1
- package/docs/commands/auth/switch.md +1 -1
- package/docs/commands/auth.md +3 -3
- package/docs/commands/autocomplete.md +1 -1
- package/docs/commands/category/create.md +1 -1
- package/docs/commands/category/delete.md +1 -1
- package/docs/commands/category/list.md +1 -1
- package/docs/commands/category/update.md +1 -1
- package/docs/commands/category.md +5 -5
- package/docs/commands/collector/exclude.md +1 -1
- package/docs/commands/collector/include.md +1 -1
- package/docs/commands/collector/list.md +1 -1
- package/docs/commands/collector.md +3 -3
- package/docs/commands/comment/add.md +1 -1
- package/docs/commands/comment/clone.md +1 -1
- package/docs/commands/comment/delete.md +1 -1
- package/docs/commands/comment/list.md +1 -1
- package/docs/commands/comment/promote.md +1 -1
- package/docs/commands/comment/reaction.md +3 -3
- package/docs/commands/comment/set-order.md +1 -1
- package/docs/commands/comment/update.md +1 -1
- package/docs/commands/comment.md +10 -10
- package/docs/commands/doctor.md +1 -1
- package/docs/commands/openupload/list.md +1 -1
- package/docs/commands/openupload/update-file.md +1 -1
- package/docs/commands/openupload/upload-file.md +1 -1
- package/docs/commands/openupload.md +3 -3
- package/docs/commands/player/delete.md +1 -1
- package/docs/commands/player/embed-versions.md +1 -1
- package/docs/commands/player/embed.md +1 -1
- package/docs/commands/player/list.md +1 -1
- package/docs/commands/player/remove-thumbnail.md +1 -1
- package/docs/commands/player/set-thumbnail.md +1 -1
- package/docs/commands/player/styles.md +1 -1
- package/docs/commands/player/update.md +1 -1
- package/docs/commands/player.md +8 -8
- package/docs/commands/poll/add.md +1 -1
- package/docs/commands/poll/answer.md +1 -1
- package/docs/commands/poll/list.md +1 -1
- package/docs/commands/poll/remove.md +1 -1
- package/docs/commands/poll/set-options.md +1 -1
- package/docs/commands/poll/update.md +1 -1
- package/docs/commands/poll.md +6 -6
- package/docs/commands/presentation/page.md +1 -1
- package/docs/commands/presentation/setting.md +2 -2
- package/docs/commands/presentation.md +3 -3
- package/docs/commands/protection/protect.md +1 -1
- package/docs/commands/protection/unprotect.md +1 -1
- package/docs/commands/protection/verify.md +1 -1
- package/docs/commands/protection.md +3 -3
- package/docs/commands/seo/get.md +33 -0
- package/docs/commands/seo/status.md +33 -0
- package/docs/commands/seo/update.md +42 -0
- package/docs/commands/seo.md +98 -0
- package/docs/commands/session/get-token.md +1 -1
- package/docs/commands/session/redeem-token.md +1 -1
- package/docs/commands/session.md +2 -2
- package/docs/commands/setting/update.md +1 -1
- package/docs/commands/setting.md +1 -1
- package/docs/commands/site/get.md +1 -1
- package/docs/commands/site/search.md +1 -1
- package/docs/commands/site.md +2 -2
- package/docs/commands/spot/check.md +1 -1
- package/docs/commands/spot/create.md +1 -1
- package/docs/commands/spot/delete.md +1 -1
- package/docs/commands/spot/list.md +1 -1
- package/docs/commands/spot/reset-version.md +1 -1
- package/docs/commands/spot/set-videos.md +1 -1
- package/docs/commands/spot/update.md +1 -1
- package/docs/commands/spot.md +7 -7
- package/docs/commands/tag/list.md +1 -1
- package/docs/commands/tag/related.md +1 -1
- package/docs/commands/tag.md +2 -2
- package/docs/commands/thumbnail/add.md +1 -1
- package/docs/commands/thumbnail/data.md +1 -1
- package/docs/commands/thumbnail/delete.md +1 -1
- package/docs/commands/thumbnail/duplicate.md +1 -1
- package/docs/commands/thumbnail/file.md +3 -3
- package/docs/commands/thumbnail/list.md +1 -1
- package/docs/commands/thumbnail/preview-scss.md +1 -1
- package/docs/commands/thumbnail/update.md +1 -1
- package/docs/commands/thumbnail.md +11 -11
- package/docs/commands/user/create.md +1 -1
- package/docs/commands/user/get-login-token.md +1 -1
- package/docs/commands/user/get.md +1 -1
- package/docs/commands/user/list.md +1 -1
- package/docs/commands/user/redeem-login-token.md +1 -1
- package/docs/commands/user/send-invitation.md +1 -1
- package/docs/commands/user/tokens.md +1 -1
- package/docs/commands/user/update.md +1 -1
- package/docs/commands/user.md +8 -8
- package/docs/commands/video/delete.md +1 -1
- package/docs/commands/video/frame.md +1 -1
- package/docs/commands/video/get.md +1 -1
- package/docs/commands/video/list.md +1 -1
- package/docs/commands/video/replace.md +1 -1
- package/docs/commands/video/section.md +40 -7
- package/docs/commands/video/subtitle.md +12 -12
- package/docs/commands/video/transcoding-progress.md +1 -1
- package/docs/commands/video/update.md +1 -1
- package/docs/commands/video/upload.md +1 -1
- package/docs/commands/video.md +28 -28
- package/docs/commands/webhook/events.md +1 -1
- package/docs/commands/webhook/list.md +1 -1
- package/docs/commands/webhook/sample.md +1 -1
- package/docs/commands/webhook/subscribe.md +1 -1
- package/docs/commands/webhook/unsubscribe.md +1 -1
- package/docs/commands/webhook.md +5 -5
- package/docs/commands/webinar/attachment.md +4 -4
- package/docs/commands/webinar/clips.md +1 -1
- package/docs/commands/webinar/create.md +9 -8
- package/docs/commands/webinar/delete.md +1 -1
- package/docs/commands/webinar/highlights.md +1 -1
- package/docs/commands/webinar/list-formats.md +1 -1
- package/docs/commands/webinar/list.md +1 -1
- package/docs/commands/webinar/log.md +1 -1
- package/docs/commands/webinar/mail.md +7 -7
- package/docs/commands/webinar/metrics.md +1 -1
- package/docs/commands/webinar/queued-video.md +2 -2
- package/docs/commands/webinar/recording.md +4 -4
- package/docs/commands/webinar/repeat.md +4 -3
- package/docs/commands/webinar/room.md +4 -4
- package/docs/commands/webinar/section.md +4 -4
- package/docs/commands/webinar/series.md +12 -12
- package/docs/commands/webinar/speaker.md +14 -14
- package/docs/commands/webinar/transcription.md +4 -4
- package/docs/commands/webinar/update.md +11 -10
- package/docs/commands/webinar/upload-image.md +1 -1
- package/docs/commands/webinar.md +67 -67
- package/docs/commands/workspace/list.md +1 -1
- package/docs/commands/workspace/use.md +1 -1
- package/docs/commands/workspace.md +2 -2
- package/oclif.manifest.json +1119 -740
- package/package.json +1 -1
|
@@ -37,6 +37,10 @@ var AppAdd = class AppAdd extends require_lib_base_command.AuthenticatedCommand
|
|
|
37
37
|
type: _oclif_core.Flags.string({
|
|
38
38
|
description: "App type",
|
|
39
39
|
required: false
|
|
40
|
+
}),
|
|
41
|
+
"player-id": _oclif_core.Flags.integer({
|
|
42
|
+
description: "Add a contextual player being forked",
|
|
43
|
+
required: false
|
|
40
44
|
})
|
|
41
45
|
};
|
|
42
46
|
static args = {};
|
|
@@ -53,6 +57,7 @@ var AppAdd = class AppAdd extends require_lib_base_command.AuthenticatedCommand
|
|
|
53
57
|
if (flags.description !== void 0) body.description = flags.description;
|
|
54
58
|
if (flags.style !== void 0) body.style = flags.style;
|
|
55
59
|
if (flags.type !== void 0) body.type = flags.type;
|
|
60
|
+
if (flags["player-id"] !== void 0) body.player_id = flags["player-id"];
|
|
56
61
|
const { data: createData, error: createError } = await this.apiClient.POST("/app/add", {
|
|
57
62
|
body,
|
|
58
63
|
headers: { "Content-Type": "application/x-www-form-urlencoded" }
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_lib_base_command = require("../../lib/base-command.cjs");
|
|
3
|
+
const require_lib_output = require("../../lib/output.cjs");
|
|
4
|
+
let _oclif_core = require("@oclif/core");
|
|
5
|
+
//#region src/commands/seo/get.ts
|
|
6
|
+
/**
|
|
7
|
+
* SEO get command — retrieves SEO metadata for a video, webinar, or webinar series.
|
|
8
|
+
*/
|
|
9
|
+
var SeoGet = class SeoGet extends require_lib_base_command.AuthenticatedCommand {
|
|
10
|
+
static description = "Get SEO metadata for a video, webinar, or webinar series";
|
|
11
|
+
static examples = ["<%= config.bin %> seo get --object-id 12345", "<%= config.bin %> seo get --object-id 12345 --json"];
|
|
12
|
+
static enableJsonFlag = true;
|
|
13
|
+
static agentMetadata = {
|
|
14
|
+
api_endpoint: "POST /seo/get",
|
|
15
|
+
auth_scope: "read",
|
|
16
|
+
output_shape: { type: "key-value" },
|
|
17
|
+
side_effects: "none"
|
|
18
|
+
};
|
|
19
|
+
static flags = {
|
|
20
|
+
...require_lib_base_command.AuthenticatedCommand.baseFlags,
|
|
21
|
+
"object-id": _oclif_core.Flags.string({
|
|
22
|
+
description: "Object ID (video, webinar, or webinar series)",
|
|
23
|
+
required: true
|
|
24
|
+
}),
|
|
25
|
+
fields: _oclif_core.Flags.string({
|
|
26
|
+
description: "Comma-separated fields to return",
|
|
27
|
+
required: false
|
|
28
|
+
})
|
|
29
|
+
};
|
|
30
|
+
async run() {
|
|
31
|
+
const { flags } = await this.parse(SeoGet);
|
|
32
|
+
this.printWorkspaceHeader();
|
|
33
|
+
const body = { object_id: Number(flags["object-id"]) };
|
|
34
|
+
if (flags.fields) body.fields = flags.fields;
|
|
35
|
+
const { data, error } = await this.apiClient.POST("/seo/get", {
|
|
36
|
+
body,
|
|
37
|
+
headers: { "Content-Type": "application/x-www-form-urlencoded" }
|
|
38
|
+
});
|
|
39
|
+
if (error) this.error(require_lib_output.formatApiError(error), { exit: 1 });
|
|
40
|
+
const domain = this.activeWorkspace.domain;
|
|
41
|
+
if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
|
|
42
|
+
ok: true,
|
|
43
|
+
data,
|
|
44
|
+
summary: "SEO metadata",
|
|
45
|
+
breadcrumbs: [{ domain }, {
|
|
46
|
+
resource: "seo",
|
|
47
|
+
id: flags["object-id"]
|
|
48
|
+
}]
|
|
49
|
+
});
|
|
50
|
+
const resp = data;
|
|
51
|
+
this.log(`seo_title: ${String(resp?.seo_title ?? "")}`);
|
|
52
|
+
this.log(`seo_description: ${String(resp?.seo_description ?? "")}`);
|
|
53
|
+
this.log(`seo_keywords: ${String(resp?.seo_keywords ?? "")}`);
|
|
54
|
+
this.log(`state: ${String(resp?.state ?? "")}`);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
//#endregion
|
|
58
|
+
module.exports = SeoGet;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_lib_base_command = require("../../lib/base-command.cjs");
|
|
3
|
+
const require_lib_output = require("../../lib/output.cjs");
|
|
4
|
+
let _oclif_core = require("@oclif/core");
|
|
5
|
+
//#region src/commands/seo/status.ts
|
|
6
|
+
/**
|
|
7
|
+
* SEO status command — retrieves SEO readiness status for a video, webinar, or webinar series.
|
|
8
|
+
*/
|
|
9
|
+
var SeoStatus = class SeoStatus extends require_lib_base_command.AuthenticatedCommand {
|
|
10
|
+
static description = "Get SEO readiness status for a video, webinar, or webinar series";
|
|
11
|
+
static examples = ["<%= config.bin %> seo status --object-id 12345", "<%= config.bin %> seo status --object-id 12345 --json"];
|
|
12
|
+
static enableJsonFlag = true;
|
|
13
|
+
static agentMetadata = {
|
|
14
|
+
api_endpoint: "POST /seo/status",
|
|
15
|
+
auth_scope: "read",
|
|
16
|
+
output_shape: { type: "key-value" },
|
|
17
|
+
side_effects: "none"
|
|
18
|
+
};
|
|
19
|
+
static flags = {
|
|
20
|
+
...require_lib_base_command.AuthenticatedCommand.baseFlags,
|
|
21
|
+
"object-id": _oclif_core.Flags.string({
|
|
22
|
+
description: "Object ID (video, webinar, or webinar series)",
|
|
23
|
+
required: true
|
|
24
|
+
}),
|
|
25
|
+
fields: _oclif_core.Flags.string({
|
|
26
|
+
description: "Comma-separated fields to return",
|
|
27
|
+
required: false
|
|
28
|
+
})
|
|
29
|
+
};
|
|
30
|
+
async run() {
|
|
31
|
+
const { flags } = await this.parse(SeoStatus);
|
|
32
|
+
this.printWorkspaceHeader();
|
|
33
|
+
const body = { object_id: Number(flags["object-id"]) };
|
|
34
|
+
if (flags.fields) body.fields = flags.fields;
|
|
35
|
+
const { data, error } = await this.apiClient.POST("/seo/status", {
|
|
36
|
+
body,
|
|
37
|
+
headers: { "Content-Type": "application/x-www-form-urlencoded" }
|
|
38
|
+
});
|
|
39
|
+
if (error) this.error(require_lib_output.formatApiError(error), { exit: 1 });
|
|
40
|
+
const domain = this.activeWorkspace.domain;
|
|
41
|
+
if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
|
|
42
|
+
ok: true,
|
|
43
|
+
data,
|
|
44
|
+
summary: "SEO status",
|
|
45
|
+
breadcrumbs: [{ domain }, {
|
|
46
|
+
resource: "seo",
|
|
47
|
+
id: flags["object-id"]
|
|
48
|
+
}]
|
|
49
|
+
});
|
|
50
|
+
const resp = data;
|
|
51
|
+
this.log(`object_id: ${String(resp?.object_id ?? "")}`);
|
|
52
|
+
this.log(`object_type: ${String(resp?.object_type ?? "")}`);
|
|
53
|
+
this.log(`current_score: ${String(resp?.current_score ?? "")}`);
|
|
54
|
+
this.log(`max_score: ${String(resp?.max_score ?? "")}`);
|
|
55
|
+
this.log(`overall_state_label: ${String(resp?.overall_state_label ?? "")}`);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
//#endregion
|
|
59
|
+
module.exports = SeoStatus;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_lib_base_command = require("../../lib/base-command.cjs");
|
|
3
|
+
const require_lib_output = require("../../lib/output.cjs");
|
|
4
|
+
let _oclif_core = require("@oclif/core");
|
|
5
|
+
let chalk = require("chalk");
|
|
6
|
+
chalk = require_runtime.__toESM(chalk);
|
|
7
|
+
//#region src/commands/seo/update.ts
|
|
8
|
+
/**
|
|
9
|
+
* SEO update command — updates SEO metadata for a video, webinar, or webinar series.
|
|
10
|
+
*/
|
|
11
|
+
var SeoUpdate = class SeoUpdate extends require_lib_base_command.AuthenticatedCommand {
|
|
12
|
+
static description = "Update SEO metadata for a video, webinar, or webinar series";
|
|
13
|
+
static examples = ["<%= config.bin %> seo update --object-id 12345 --seo-name \"My Video\"", "<%= config.bin %> seo update --object-id 12345 --seo-policy index --json"];
|
|
14
|
+
static enableJsonFlag = true;
|
|
15
|
+
static agentMetadata = {
|
|
16
|
+
api_endpoint: "POST /seo/update",
|
|
17
|
+
auth_scope: "write",
|
|
18
|
+
output_shape: { type: "message" },
|
|
19
|
+
side_effects: "updates"
|
|
20
|
+
};
|
|
21
|
+
static flags = {
|
|
22
|
+
...require_lib_base_command.AuthenticatedCommand.baseFlags,
|
|
23
|
+
"object-id": _oclif_core.Flags.string({
|
|
24
|
+
description: "Object ID (video, webinar, or webinar series)",
|
|
25
|
+
required: true
|
|
26
|
+
}),
|
|
27
|
+
"seo-name": _oclif_core.Flags.string({
|
|
28
|
+
description: "SEO title for the object",
|
|
29
|
+
required: false
|
|
30
|
+
}),
|
|
31
|
+
"seo-description": _oclif_core.Flags.string({
|
|
32
|
+
description: "SEO description for the object",
|
|
33
|
+
required: false
|
|
34
|
+
}),
|
|
35
|
+
"seo-keywords": _oclif_core.Flags.string({
|
|
36
|
+
description: "SEO keywords for the object",
|
|
37
|
+
required: false
|
|
38
|
+
}),
|
|
39
|
+
"canonical-url": _oclif_core.Flags.string({
|
|
40
|
+
description: "Canonical URL for the object",
|
|
41
|
+
required: false
|
|
42
|
+
}),
|
|
43
|
+
"seo-policy": _oclif_core.Flags.string({
|
|
44
|
+
description: "SEO indexing policy (\"\", \"index\", or \"noindex\")",
|
|
45
|
+
required: false,
|
|
46
|
+
options: [
|
|
47
|
+
"",
|
|
48
|
+
"index",
|
|
49
|
+
"noindex"
|
|
50
|
+
]
|
|
51
|
+
}),
|
|
52
|
+
"enrich-immediately": _oclif_core.Flags.boolean({
|
|
53
|
+
description: "Enrich SEO metadata immediately",
|
|
54
|
+
required: false
|
|
55
|
+
}),
|
|
56
|
+
fields: _oclif_core.Flags.string({
|
|
57
|
+
description: "Comma-separated fields to return",
|
|
58
|
+
required: false
|
|
59
|
+
})
|
|
60
|
+
};
|
|
61
|
+
async run() {
|
|
62
|
+
const { flags } = await this.parse(SeoUpdate);
|
|
63
|
+
this.printWorkspaceHeader();
|
|
64
|
+
const body = { object_id: Number(flags["object-id"]) };
|
|
65
|
+
if (flags["seo-name"] !== void 0) body.seo_name = flags["seo-name"];
|
|
66
|
+
if (flags["seo-description"] !== void 0) body.seo_description = flags["seo-description"];
|
|
67
|
+
if (flags["seo-keywords"] !== void 0) body.seo_keywords = flags["seo-keywords"];
|
|
68
|
+
if (flags["canonical-url"] !== void 0) body.canonical_url = flags["canonical-url"];
|
|
69
|
+
if (flags["seo-policy"] !== void 0) body.seo_policy = flags["seo-policy"];
|
|
70
|
+
if (flags["enrich-immediately"] !== void 0) body.enrich_immediately_p = flags["enrich-immediately"] ? 1 : 0;
|
|
71
|
+
if (flags.fields !== void 0) body.fields = flags.fields;
|
|
72
|
+
const { data, error } = await this.apiClient.POST("/seo/update", {
|
|
73
|
+
body,
|
|
74
|
+
headers: { "Content-Type": "application/x-www-form-urlencoded" }
|
|
75
|
+
});
|
|
76
|
+
if (error) this.error(require_lib_output.formatApiError(error), { exit: 1 });
|
|
77
|
+
const domain = this.activeWorkspace.domain;
|
|
78
|
+
if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
|
|
79
|
+
ok: true,
|
|
80
|
+
data,
|
|
81
|
+
summary: "SEO metadata updated",
|
|
82
|
+
breadcrumbs: [{ domain }, {
|
|
83
|
+
resource: "seo",
|
|
84
|
+
id: flags["object-id"]
|
|
85
|
+
}]
|
|
86
|
+
});
|
|
87
|
+
this.log(chalk.default.green("SEO metadata updated"));
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
//#endregion
|
|
91
|
+
module.exports = SeoUpdate;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_lib_term_map = require("../../../lib/term-map.cjs");
|
|
3
|
+
const require_lib_base_command = require("../../../lib/base-command.cjs");
|
|
4
|
+
const require_lib_output = require("../../../lib/output.cjs");
|
|
5
|
+
let _oclif_core = require("@oclif/core");
|
|
6
|
+
let chalk = require("chalk");
|
|
7
|
+
chalk = require_runtime.__toESM(chalk);
|
|
8
|
+
//#region src/commands/video/section/check-generate-available.ts
|
|
9
|
+
/**
|
|
10
|
+
* Video section check-generate-available command — checks whether AI chapter generation
|
|
11
|
+
* is available for a given video. Requires the workspace feature to be enabled and
|
|
12
|
+
* the video to have a transcript available.
|
|
13
|
+
*/
|
|
14
|
+
var VideoSectionCheckGenerateAvailable = class VideoSectionCheckGenerateAvailable extends require_lib_base_command.AuthenticatedCommand {
|
|
15
|
+
static description = "Check whether AI chapter generation is available for a video";
|
|
16
|
+
static examples = ["<%= config.bin %> video section check-generate-available 12345", "<%= config.bin %> video section check-generate-available 12345 --json"];
|
|
17
|
+
static enableJsonFlag = true;
|
|
18
|
+
static agentMetadata = {
|
|
19
|
+
api_endpoint: "POST /photo/section/check-generate-available",
|
|
20
|
+
auth_scope: "write",
|
|
21
|
+
output_shape: { type: "key-value" },
|
|
22
|
+
side_effects: "none"
|
|
23
|
+
};
|
|
24
|
+
static flags = {
|
|
25
|
+
...require_lib_base_command.AuthenticatedCommand.baseFlags,
|
|
26
|
+
fields: _oclif_core.Flags.string({
|
|
27
|
+
description: "Comma-separated list of fields to return in the API response",
|
|
28
|
+
required: false
|
|
29
|
+
})
|
|
30
|
+
};
|
|
31
|
+
static args = { id: _oclif_core.Args.string({
|
|
32
|
+
description: "Video ID",
|
|
33
|
+
required: true
|
|
34
|
+
}) };
|
|
35
|
+
async run() {
|
|
36
|
+
const { args, flags } = await this.parse(VideoSectionCheckGenerateAvailable);
|
|
37
|
+
this.printWorkspaceHeader();
|
|
38
|
+
const body = { photo_id: Number(args.id) };
|
|
39
|
+
if (flags.fields !== void 0) body.fields = flags.fields;
|
|
40
|
+
const { data, error } = await this.apiClient.POST("/photo/section/check-generate-available", {
|
|
41
|
+
body,
|
|
42
|
+
headers: { "Content-Type": "application/x-www-form-urlencoded" }
|
|
43
|
+
});
|
|
44
|
+
if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
|
|
45
|
+
const available = data?.data?.section_generation_available_p;
|
|
46
|
+
if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
|
|
47
|
+
ok: true,
|
|
48
|
+
data,
|
|
49
|
+
summary: `AI chapter generation available: ${available}`,
|
|
50
|
+
breadcrumbs: [
|
|
51
|
+
{ domain: this.activeWorkspace.domain },
|
|
52
|
+
{
|
|
53
|
+
resource: "video",
|
|
54
|
+
id: args.id
|
|
55
|
+
},
|
|
56
|
+
{ resource: "section" }
|
|
57
|
+
]
|
|
58
|
+
});
|
|
59
|
+
if (available) this.log(chalk.default.green(`AI chapter generation is available for video ${args.id}`));
|
|
60
|
+
else {
|
|
61
|
+
this.log(chalk.default.yellow(`AI chapter generation is not available for video ${args.id}`));
|
|
62
|
+
this.log("Requires: workspace feature enabled and a transcript on the video");
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
//#endregion
|
|
67
|
+
module.exports = VideoSectionCheckGenerateAvailable;
|
|
@@ -54,6 +54,10 @@ var WebinarCreate = class WebinarCreate extends require_lib_base_command.Authent
|
|
|
54
54
|
allowNo: true,
|
|
55
55
|
required: false
|
|
56
56
|
}),
|
|
57
|
+
"webinar-design-id": _oclif_core.Flags.integer({
|
|
58
|
+
description: "Assign a webinar design by ID to this webinar",
|
|
59
|
+
required: false
|
|
60
|
+
}),
|
|
57
61
|
"draft-p": _oclif_core.Flags.string({
|
|
58
62
|
hidden: true,
|
|
59
63
|
required: false
|
|
@@ -81,6 +85,7 @@ var WebinarCreate = class WebinarCreate extends require_lib_base_command.Authent
|
|
|
81
85
|
if (draftVal !== void 0) body.draft_p = draftVal ? 1 : 0;
|
|
82
86
|
const publishVal = require_lib_output.parseBoolParam(flags.publish, flags["published-p"]);
|
|
83
87
|
if (publishVal !== void 0) body.published_p = publishVal ? 1 : 0;
|
|
88
|
+
if (flags["webinar-design-id"] !== void 0) body.webinar_design_id = flags["webinar-design-id"];
|
|
84
89
|
const { data: createData, error: createError } = await this.apiClient.POST("/live/create", {
|
|
85
90
|
body,
|
|
86
91
|
headers: { "Content-Type": "application/x-www-form-urlencoded" }
|
|
@@ -20,6 +20,10 @@ var WebinarRepeat = class WebinarRepeat extends require_lib_base_command.Authent
|
|
|
20
20
|
date: _oclif_core.Flags.string({
|
|
21
21
|
description: "Schedule date/time for the new webinar (ISO 8601)",
|
|
22
22
|
required: true
|
|
23
|
+
}),
|
|
24
|
+
"webinar-design-id": _oclif_core.Flags.integer({
|
|
25
|
+
description: "Assign a webinar design by ID to the new webinar",
|
|
26
|
+
required: false
|
|
23
27
|
})
|
|
24
28
|
};
|
|
25
29
|
static args = { id: _oclif_core.Args.string({
|
|
@@ -39,6 +43,7 @@ var WebinarRepeat = class WebinarRepeat extends require_lib_base_command.Authent
|
|
|
39
43
|
live_id: Number(args.id),
|
|
40
44
|
schedule_start_time: flags.date
|
|
41
45
|
};
|
|
46
|
+
if (flags["webinar-design-id"] !== void 0) body.webinar_design_id = flags["webinar-design-id"];
|
|
42
47
|
const { data: repeatData, error: repeatError } = await this.apiClient.POST("/live/repeat", {
|
|
43
48
|
body,
|
|
44
49
|
headers: { "Content-Type": "application/x-www-form-urlencoded" }
|
|
@@ -67,6 +67,10 @@ var WebinarUpdate = class WebinarUpdate extends require_lib_base_command.Authent
|
|
|
67
67
|
],
|
|
68
68
|
required: false
|
|
69
69
|
}),
|
|
70
|
+
"webinar-design-id": _oclif_core.Flags.integer({
|
|
71
|
+
description: "Assign a webinar design by ID to this webinar",
|
|
72
|
+
required: false
|
|
73
|
+
}),
|
|
70
74
|
"draft-p": _oclif_core.Flags.string({
|
|
71
75
|
hidden: true,
|
|
72
76
|
required: false
|
|
@@ -100,7 +104,8 @@ var WebinarUpdate = class WebinarUpdate extends require_lib_base_command.Authent
|
|
|
100
104
|
flags.publish,
|
|
101
105
|
flags["draft-p"],
|
|
102
106
|
flags["published-p"],
|
|
103
|
-
flags["seo-policy"]
|
|
107
|
+
flags["seo-policy"],
|
|
108
|
+
flags["webinar-design-id"]
|
|
104
109
|
].some((v) => v !== void 0);
|
|
105
110
|
const body = { live_id: webinarId };
|
|
106
111
|
if (!metadataFlagsProvided && !this.jsonEnabled()) {
|
|
@@ -181,6 +186,7 @@ var WebinarUpdate = class WebinarUpdate extends require_lib_base_command.Authent
|
|
|
181
186
|
const publishVal = require_lib_output.parseBoolParam(flags.publish, flags["published-p"]);
|
|
182
187
|
if (publishVal !== void 0) body.published_p = publishVal ? 1 : 0;
|
|
183
188
|
if (flags["seo-policy"] !== void 0) body.seo_policy = flags["seo-policy"];
|
|
189
|
+
if (flags["webinar-design-id"] !== void 0) body.webinar_design_id = flags["webinar-design-id"];
|
|
184
190
|
}
|
|
185
191
|
const { data: updateData, error: updateError } = await this.apiClient.POST("/live/update", {
|
|
186
192
|
body,
|
|
@@ -33,4 +33,4 @@ EXAMPLES
|
|
|
33
33
|
$ twentythree action add --type overlay --object-id 12345 --json
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
-
_See code: [src/commands/action/add.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
36
|
+
_See code: [src/commands/action/add.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/action/add.ts)_
|
|
@@ -29,4 +29,4 @@ EXAMPLES
|
|
|
29
29
|
$ twentythree action delete 12345 --json
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
_See code: [src/commands/action/delete.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
32
|
+
_See code: [src/commands/action/delete.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/action/delete.ts)_
|
|
@@ -35,4 +35,4 @@ EXAMPLES
|
|
|
35
35
|
$ twentythree action exclude 12345 --object-id 6789 --json
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
-
_See code: [src/commands/action/exclude.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
38
|
+
_See code: [src/commands/action/exclude.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/action/exclude.ts)_
|
|
@@ -44,4 +44,4 @@ EXAMPLES
|
|
|
44
44
|
$ twentythree action get 12345 --json
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
_See code: [src/commands/action/get.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
47
|
+
_See code: [src/commands/action/get.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/action/get.ts)_
|
|
@@ -35,4 +35,4 @@ EXAMPLES
|
|
|
35
35
|
$ twentythree action include 12345 --object-id 6789 --json
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
-
_See code: [src/commands/action/include.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
38
|
+
_See code: [src/commands/action/include.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/action/include.ts)_
|
|
@@ -40,4 +40,4 @@ EXAMPLES
|
|
|
40
40
|
$ twentythree action list --video-id 12345 --json
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
-
_See code: [src/commands/action/list.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
43
|
+
_See code: [src/commands/action/list.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/action/list.ts)_
|
|
@@ -31,4 +31,4 @@ EXAMPLES
|
|
|
31
31
|
$ twentythree action types --json
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
_See code: [src/commands/action/types.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
34
|
+
_See code: [src/commands/action/types.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/action/types.ts)_
|
|
@@ -39,4 +39,4 @@ EXAMPLES
|
|
|
39
39
|
$ twentythree action update 12345 --name "Buy Now" --start-time 10 --end-time 20 --json
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
_See code: [src/commands/action/update.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
42
|
+
_See code: [src/commands/action/update.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/action/update.ts)_
|
|
@@ -33,4 +33,4 @@ EXAMPLES
|
|
|
33
33
|
$ twentythree action upload 12345 image ./banner.png --json
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
-
_See code: [src/commands/action/upload.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
36
|
+
_See code: [src/commands/action/upload.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/action/upload.ts)_
|
package/docs/commands/action.md
CHANGED
|
@@ -41,7 +41,7 @@ EXAMPLES
|
|
|
41
41
|
$ twentythree action add --type overlay --object-id 12345 --json
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
_See code: [src/commands/action/add.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
44
|
+
_See code: [src/commands/action/add.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/action/add.ts)_
|
|
45
45
|
|
|
46
46
|
## `twentythree action delete ID`
|
|
47
47
|
|
|
@@ -67,7 +67,7 @@ EXAMPLES
|
|
|
67
67
|
$ twentythree action delete 12345 --json
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
-
_See code: [src/commands/action/delete.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
70
|
+
_See code: [src/commands/action/delete.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/action/delete.ts)_
|
|
71
71
|
|
|
72
72
|
## `twentythree action exclude ID`
|
|
73
73
|
|
|
@@ -99,7 +99,7 @@ EXAMPLES
|
|
|
99
99
|
$ twentythree action exclude 12345 --object-id 6789 --json
|
|
100
100
|
```
|
|
101
101
|
|
|
102
|
-
_See code: [src/commands/action/exclude.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
102
|
+
_See code: [src/commands/action/exclude.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/action/exclude.ts)_
|
|
103
103
|
|
|
104
104
|
## `twentythree action get [ID]`
|
|
105
105
|
|
|
@@ -140,7 +140,7 @@ EXAMPLES
|
|
|
140
140
|
$ twentythree action get 12345 --json
|
|
141
141
|
```
|
|
142
142
|
|
|
143
|
-
_See code: [src/commands/action/get.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
143
|
+
_See code: [src/commands/action/get.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/action/get.ts)_
|
|
144
144
|
|
|
145
145
|
## `twentythree action include ID`
|
|
146
146
|
|
|
@@ -172,7 +172,7 @@ EXAMPLES
|
|
|
172
172
|
$ twentythree action include 12345 --object-id 6789 --json
|
|
173
173
|
```
|
|
174
174
|
|
|
175
|
-
_See code: [src/commands/action/include.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
175
|
+
_See code: [src/commands/action/include.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/action/include.ts)_
|
|
176
176
|
|
|
177
177
|
## `twentythree action list`
|
|
178
178
|
|
|
@@ -209,7 +209,7 @@ EXAMPLES
|
|
|
209
209
|
$ twentythree action list --video-id 12345 --json
|
|
210
210
|
```
|
|
211
211
|
|
|
212
|
-
_See code: [src/commands/action/list.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
212
|
+
_See code: [src/commands/action/list.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/action/list.ts)_
|
|
213
213
|
|
|
214
214
|
## `twentythree action types`
|
|
215
215
|
|
|
@@ -237,7 +237,7 @@ EXAMPLES
|
|
|
237
237
|
$ twentythree action types --json
|
|
238
238
|
```
|
|
239
239
|
|
|
240
|
-
_See code: [src/commands/action/types.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
240
|
+
_See code: [src/commands/action/types.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/action/types.ts)_
|
|
241
241
|
|
|
242
242
|
## `twentythree action update ID`
|
|
243
243
|
|
|
@@ -273,7 +273,7 @@ EXAMPLES
|
|
|
273
273
|
$ twentythree action update 12345 --name "Buy Now" --start-time 10 --end-time 20 --json
|
|
274
274
|
```
|
|
275
275
|
|
|
276
|
-
_See code: [src/commands/action/update.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
276
|
+
_See code: [src/commands/action/update.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/action/update.ts)_
|
|
277
277
|
|
|
278
278
|
## `twentythree action upload ID VARIABLE-NAME FILE`
|
|
279
279
|
|
|
@@ -303,4 +303,4 @@ EXAMPLES
|
|
|
303
303
|
$ twentythree action upload 12345 image ./banner.png --json
|
|
304
304
|
```
|
|
305
305
|
|
|
306
|
-
_See code: [src/commands/action/upload.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
306
|
+
_See code: [src/commands/action/upload.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/action/upload.ts)_
|
|
@@ -40,7 +40,7 @@ EXAMPLES
|
|
|
40
40
|
$ twentythree analytics conversions --json
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
-
_See code: [src/commands/analytics/conversions/index.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
43
|
+
_See code: [src/commands/analytics/conversions/index.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/analytics/conversions/index.ts)_
|
|
44
44
|
|
|
45
45
|
## `twentythree analytics conversions timeseries`
|
|
46
46
|
|
|
@@ -75,7 +75,7 @@ EXAMPLES
|
|
|
75
75
|
$ twentythree analytics conversions timeseries --json
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
_See code: [src/commands/analytics/conversions/timeseries.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
78
|
+
_See code: [src/commands/analytics/conversions/timeseries.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/analytics/conversions/timeseries.ts)_
|
|
79
79
|
|
|
80
80
|
## `twentythree analytics conversions totals`
|
|
81
81
|
|
|
@@ -110,4 +110,4 @@ EXAMPLES
|
|
|
110
110
|
$ twentythree analytics conversions totals --json
|
|
111
111
|
```
|
|
112
112
|
|
|
113
|
-
_See code: [src/commands/analytics/conversions/totals.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
113
|
+
_See code: [src/commands/analytics/conversions/totals.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/analytics/conversions/totals.ts)_
|
|
@@ -49,7 +49,7 @@ EXAMPLES
|
|
|
49
49
|
$ twentythree analytics live --json
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
-
_See code: [src/commands/analytics/live/index.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
52
|
+
_See code: [src/commands/analytics/live/index.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/analytics/live/index.ts)_
|
|
53
53
|
|
|
54
54
|
## `twentythree analytics live event`
|
|
55
55
|
|
|
@@ -87,7 +87,7 @@ EXAMPLES
|
|
|
87
87
|
$ twentythree analytics live event --json
|
|
88
88
|
```
|
|
89
89
|
|
|
90
|
-
_See code: [src/commands/analytics/live/event.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
90
|
+
_See code: [src/commands/analytics/live/event.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/analytics/live/event.ts)_
|
|
91
91
|
|
|
92
92
|
## `twentythree analytics live event-timeseries`
|
|
93
93
|
|
|
@@ -122,7 +122,7 @@ EXAMPLES
|
|
|
122
122
|
$ twentythree analytics live event-timeseries --json
|
|
123
123
|
```
|
|
124
124
|
|
|
125
|
-
_See code: [src/commands/analytics/live/event-timeseries.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
125
|
+
_See code: [src/commands/analytics/live/event-timeseries.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/analytics/live/event-timeseries.ts)_
|
|
126
126
|
|
|
127
127
|
## `twentythree analytics live event-totals`
|
|
128
128
|
|
|
@@ -157,7 +157,7 @@ EXAMPLES
|
|
|
157
157
|
$ twentythree analytics live event-totals --json
|
|
158
158
|
```
|
|
159
159
|
|
|
160
|
-
_See code: [src/commands/analytics/live/event-totals.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
160
|
+
_See code: [src/commands/analytics/live/event-totals.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/analytics/live/event-totals.ts)_
|
|
161
161
|
|
|
162
162
|
## `twentythree analytics live timeseries`
|
|
163
163
|
|
|
@@ -192,7 +192,7 @@ EXAMPLES
|
|
|
192
192
|
$ twentythree analytics live timeseries --json
|
|
193
193
|
```
|
|
194
194
|
|
|
195
|
-
_See code: [src/commands/analytics/live/timeseries.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
195
|
+
_See code: [src/commands/analytics/live/timeseries.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/analytics/live/timeseries.ts)_
|
|
196
196
|
|
|
197
197
|
## `twentythree analytics live totals`
|
|
198
198
|
|
|
@@ -227,7 +227,7 @@ EXAMPLES
|
|
|
227
227
|
$ twentythree analytics live totals --json
|
|
228
228
|
```
|
|
229
229
|
|
|
230
|
-
_See code: [src/commands/analytics/live/totals.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
230
|
+
_See code: [src/commands/analytics/live/totals.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/analytics/live/totals.ts)_
|
|
231
231
|
|
|
232
232
|
## `twentythree analytics live weekday`
|
|
233
233
|
|
|
@@ -265,7 +265,7 @@ EXAMPLES
|
|
|
265
265
|
$ twentythree analytics live weekday --json
|
|
266
266
|
```
|
|
267
267
|
|
|
268
|
-
_See code: [src/commands/analytics/live/weekday.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
268
|
+
_See code: [src/commands/analytics/live/weekday.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/analytics/live/weekday.ts)_
|
|
269
269
|
|
|
270
270
|
## `twentythree analytics live weekday timeseries`
|
|
271
271
|
|
|
@@ -300,7 +300,7 @@ EXAMPLES
|
|
|
300
300
|
$ twentythree analytics live weekday timeseries --json
|
|
301
301
|
```
|
|
302
302
|
|
|
303
|
-
_See code: [src/commands/analytics/live/weekday/timeseries.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
303
|
+
_See code: [src/commands/analytics/live/weekday/timeseries.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/analytics/live/weekday/timeseries.ts)_
|
|
304
304
|
|
|
305
305
|
## `twentythree analytics live weekday totals`
|
|
306
306
|
|
|
@@ -335,4 +335,4 @@ EXAMPLES
|
|
|
335
335
|
$ twentythree analytics live weekday totals --json
|
|
336
336
|
```
|
|
337
337
|
|
|
338
|
-
_See code: [src/commands/analytics/live/weekday/totals.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
338
|
+
_See code: [src/commands/analytics/live/weekday/totals.ts](https://github.com/23/twentythree-cli/blob/v1.3.5/src/commands/analytics/live/weekday/totals.ts)_
|