From b9eaddf28c4d8f1a2e3fe90ff7dccc04b2e695a8 Mon Sep 17 00:00:00 2001 From: chrisdengso <8185683+chrisdengso@users.noreply.github.com> Date: Fri, 23 Oct 2026 12:23:43 +0000 Subject: [PATCH] fix: v0.3.1 --- .speakeasy/gen.lock | 10 +++++----- .speakeasy/gen.yaml | 9 ++++----- CHANGELOG.md | 8 ++++++++ README.md | 1 + internal/cli/root.go | 3 +-- internal/cli/version.go | 2 +- internal/sdk/moderationapi.go | 6 +++--- internal/usage/schema.go | 2 +- 8 files changed, 24 insertions(+), 17 deletions(-) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index dcd998d..85c8ea5 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -5,8 +5,8 @@ management: docVersion: 1.1.0 speakeasyVersion: internal generationVersion: internal - releaseVersion: 0.3.0 - configChecksum: 0f8c5381471c4b4b319b9e6b96ca65a1 + releaseVersion: 0.3.1 + configChecksum: 99f8043a4f200e744b343a38011b23da repoURL: https://github.com/moderation-api/cli installationURL: https://github.com/moderation-api/cli published: true @@ -127,7 +127,7 @@ trackedFiles: internal/cli/root.go: last_write_checksum: sha1:d00799a3804f87479242f16bf520cb593f79ba8e internal/cli/version.go: - last_write_checksum: sha1:a5593fb4cf15187efa602d2541144a020a860482 + last_write_checksum: sha1:f2e17462a6cd320d11a4233eee5b94fcf845824b internal/cli/webhooks/create.go: last_write_checksum: sha1:98c73266c8954efcf0da2493ae41909df45a38f0 internal/cli/webhooks/delete.go: @@ -367,7 +367,7 @@ trackedFiles: internal/sdk/models/sdkerrors/sdkdefaulterror.go: last_write_checksum: sha1:437b3a3eacb54d8648a68f80b3cd38fa5019f006 internal/sdk/moderationapi.go: - last_write_checksum: sha1:2febecf6453ced571f7e1a5bdfb1bcb5ee17fc80 + last_write_checksum: sha1:0f7dd6f3d5490e62e41da356113c57328f1caa79 internal/sdk/optionalnullable/optionalnullable.go: last_write_checksum: sha1:b828c94c45116e632925027e4e2c211e971e04e2 internal/sdk/optionalnullable/optionalnullable_test.go: @@ -429,7 +429,7 @@ trackedFiles: internal/usage/bodyschemas.go: last_write_checksum: sha1:06404c8b3b7c87ea76f8722c2aeaa1d17baac650 internal/usage/schema.go: - last_write_checksum: sha1:8153c56438344994d8542496d1670b57ad8a9ca3 + last_write_checksum: sha1:7765bf7055ca5f4f99e853f313768f00d0b748bc scripts/install.ps1: last_write_checksum: sha1:bd3a52c28f647ed881c6e8d72abf2d84216976c9 scripts/install.sh: diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index f7c04af..1674c83 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -26,14 +26,13 @@ generation: allOfMergeStrategy: shallowMerge requestBodyFieldName: body versioningStrategy: automatic - persistentEdits: - enabled: true + persistentEdits: {} tests: generateTests: false generateNewTests: true skipResponseBodyAssertions: false cli: - version: 0.3.0 + version: 0.3.1 additionalDependencies: {} agentEnvironmentDetection: true arrayFlagFormat: repeatable @@ -43,8 +42,8 @@ cli: defaultTimeout: "" distribution: homebrew: - enabled: true - tap: moderation-api/homebrew-tap + enabled: false + tap: "" nfpm: enabled: false formats: deb,rpm diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a56b4d..66b8961 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.3.1 (2026-10-23) + +Full Changelog: [v0.3.0...v0.3.1](https://github.com/moderation-api/cli/compare/v0.3.0...v0.3.1) + +### Chores + +- Update the generated code. + ## 0.3.0 (2026-10-22) Full Changelog: [v0.2.1...v0.3.0](https://github.com/moderation-api/cli/compare/v0.2.1...v0.3.0) diff --git a/README.md b/README.md index 7a3e31a..16997c0 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ More information about the API can be found at https://docs.moderationapi.com * [CLI Installation](#cli-installation) * [Shell Completion](#shell-completion) * [CLI Example Usage](#cli-example-usage) + * [Set up Moderation API in your project](#set-up-moderation-api-in-your-project) * [Moderating content](#moderating-content) * [For AI agents](#for-ai-agents) * [Authentication](#authentication) diff --git a/internal/cli/root.go b/internal/cli/root.go index e35a2d8..57d75ed 100644 --- a/internal/cli/root.go +++ b/internal/cli/root.go @@ -113,8 +113,7 @@ func NewRootCommand() (*cobra.Command, error) { if err := channels.InitChannelsRoot(rootCmd); err != nil { return nil, fmt.Errorf("init channels: %w", err) } - // Hand-written commands (login, logout, init, doctor). Kept on - // regeneration by Speakeasy persistent edits; see internal/custom. + // Hand-written commands (login, logout, init, doctor); see internal/custom. custom.Register(rootCmd) if err := initConfigureCmd(rootCmd); err != nil { return nil, fmt.Errorf("init configure: %w", err) diff --git a/internal/cli/version.go b/internal/cli/version.go index d4baafc..9997b58 100644 --- a/internal/cli/version.go +++ b/internal/cli/version.go @@ -14,7 +14,7 @@ import ( // which propagates the value here (see cmd/modapi/main.go): // // go build -ldflags "-X main.version=x.y.z" ./cmd/modapi -var Version = "0.3.0" +var Version = "0.3.1" // BuildTime is optionally set at build time via ldflags targeting the main package. var BuildTime string diff --git a/internal/sdk/moderationapi.go b/internal/sdk/moderationapi.go index 92d9527..697579e 100644 --- a/internal/sdk/moderationapi.go +++ b/internal/sdk/moderationapi.go @@ -137,10 +137,10 @@ func WithTimeout(timeout time.Duration) SDKOption { // New creates a new instance of the SDK with the provided options func New(opts ...SDKOption) *ModerationAPI { sdk := &ModerationAPI{ - SDKVersion: "0.3.0", + SDKVersion: "0.3.1", sdkConfiguration: config.SDKConfiguration{ - UserAgent: "speakeasy-sdk/go 0.3.0 internal 1.1.0 github.com/moderation-api/cli/internal/sdk", - SDKVersion: "0.3.0", + UserAgent: "speakeasy-sdk/go 0.3.1 internal 1.1.0 github.com/moderation-api/cli/internal/sdk", + SDKVersion: "0.3.1", GenVersion: "internal", OpenAPIDocVersion: "1.1.0", ServerList: ServerList, diff --git a/internal/usage/schema.go b/internal/usage/schema.go index 396a526..8499a93 100644 --- a/internal/usage/schema.go +++ b/internal/usage/schema.go @@ -28,7 +28,7 @@ type usageNode struct { } var usageNodes = map[string]usageNode{ - "": {head: "name \"modapi\"\nbin \"modapi\"\nabout \"Moderation API: Moderate text, images, video and audio in real time, manage authors, review queues and actions, and receive webhooks.\"\nversion \"0.3.0\"\nconfig {\n file \"~/.config/modapi/config.yaml\"\n}", flags: []usageItem{{key: "usage", text: "flag \"--usage\" help=\"Print the CLI Usage schema in KDL format\" global=#true"}, {key: "version", text: "flag \"-v --version\" help=\"Print the CLI version\""}, {key: "output-format", text: "flag \"-o --output-format \" help=\"Specify the output format. Options: pretty, json, yaml, table, toon.\" global=#true config=\"output_format\" default=\"pretty\""}, {key: "color", text: "flag \"--color \" help=\"Control colored output: auto (color when output is a TTY), always, or never. Respects NO_COLOR and FORCE_COLOR env vars.\" global=#true default=\"auto\""}, {key: "jq", text: "flag \"-q --jq \" help=\"Filter and transform output using a jq expression (e.g., '.name', '.items[] | .id')\" global=#true"}, {key: "raw-output", text: "flag \"--raw-output\" help=\"Write --jq string results as raw text instead of JSON strings (like jq -r); non-string results stay JSON\" global=#true default=#false"}, {key: "server-url", text: "flag \"--server-url \" help=\"Override the default server URL\" global=#true"}, {key: "server", text: "flag \"--server \" help=\"Select a server by index (for indexed servers) or name (for named servers)\" global=#true"}, {key: "header", text: "flag \"-H --header \" help=\"Set a custom HTTP request header (format: \\\"Key: Value\\\"). Can be specified multiple times.\" global=#true var=#true"}, {key: "include-headers", text: "flag \"--include-headers\" help=\"Include HTTP response headers in the output\" global=#true default=#false"}, {key: "timeout", text: "flag \"--timeout \" help=\"HTTP request timeout (e.g., 30s, 5m, 100ms)\" global=#true config=\"timeout\""}, {key: "interactive", text: "flag \"--interactive\" help=\"Prompt for missing inputs and open guided configure/auth forms (forms fall back to line prompts on stdin off-TTY)\" global=#true default=#true"}, {key: "no-interactive", text: "flag \"--no-interactive\" help=\"Disable all interactive features (auto-prompting, explorer auto-launch, TUI forms)\" global=#true default=#false"}, {key: "dry-run", text: "flag \"--dry-run\" help=\"Preview API requests without sending them (no network, no OS keychain). Human preview on stderr; with -o json or --jq, one JSON object per request on stdout. Local mutation commands (auth login, auth logout and configure) make no request: they skip prompts and writes and report a no-op (stderr, or one JSON object on stdout in the machine form)\" global=#true default=#false"}, {key: "debug", text: "flag \"-d --debug\" help=\"Log request and response diagnostics to stderr\" global=#true default=#false"}, {key: "agent-mode", text: "flag \"--agent-mode\" help=\"Enable structured errors and default TOON output for AI coding agents. Automatically enabled when a known agent environment is detected (CLAUDECODE, CURSOR_AGENT, etc.). Use --agent-mode=false to disable.\" global=#true default=#false"}, {key: "secret-key", text: "flag \"--secret-key \" help=\"HTTP Bearer\" global=#true env=\"MODAPI_SECRET_KEY\" config=\"security.secret_key\""}, {key: "no-keyring", text: "flag \"--no-keyring\" help=\"Never read or write the OS keychain; store secrets in the config file instead\" global=#true env=\"MODAPI_NO_KEYRING\" config=\"no_keyring\" default=#false"}}, children: []string{"account", "actions", "auth", "authors", "channels", "completion", "configure", "content", "explore", "help", "projects", "queue", "version", "webhook-secret", "webhooks", "whoami", "wordlist"}}, + "": {head: "name \"modapi\"\nbin \"modapi\"\nabout \"Moderation API: Moderate text, images, video and audio in real time, manage authors, review queues and actions, and receive webhooks.\"\nversion \"0.3.1\"\nconfig {\n file \"~/.config/modapi/config.yaml\"\n}", flags: []usageItem{{key: "usage", text: "flag \"--usage\" help=\"Print the CLI Usage schema in KDL format\" global=#true"}, {key: "version", text: "flag \"-v --version\" help=\"Print the CLI version\""}, {key: "output-format", text: "flag \"-o --output-format \" help=\"Specify the output format. Options: pretty, json, yaml, table, toon.\" global=#true config=\"output_format\" default=\"pretty\""}, {key: "color", text: "flag \"--color \" help=\"Control colored output: auto (color when output is a TTY), always, or never. Respects NO_COLOR and FORCE_COLOR env vars.\" global=#true default=\"auto\""}, {key: "jq", text: "flag \"-q --jq \" help=\"Filter and transform output using a jq expression (e.g., '.name', '.items[] | .id')\" global=#true"}, {key: "raw-output", text: "flag \"--raw-output\" help=\"Write --jq string results as raw text instead of JSON strings (like jq -r); non-string results stay JSON\" global=#true default=#false"}, {key: "server-url", text: "flag \"--server-url \" help=\"Override the default server URL\" global=#true"}, {key: "server", text: "flag \"--server \" help=\"Select a server by index (for indexed servers) or name (for named servers)\" global=#true"}, {key: "header", text: "flag \"-H --header \" help=\"Set a custom HTTP request header (format: \\\"Key: Value\\\"). Can be specified multiple times.\" global=#true var=#true"}, {key: "include-headers", text: "flag \"--include-headers\" help=\"Include HTTP response headers in the output\" global=#true default=#false"}, {key: "timeout", text: "flag \"--timeout \" help=\"HTTP request timeout (e.g., 30s, 5m, 100ms)\" global=#true config=\"timeout\""}, {key: "interactive", text: "flag \"--interactive\" help=\"Prompt for missing inputs and open guided configure/auth forms (forms fall back to line prompts on stdin off-TTY)\" global=#true default=#true"}, {key: "no-interactive", text: "flag \"--no-interactive\" help=\"Disable all interactive features (auto-prompting, explorer auto-launch, TUI forms)\" global=#true default=#false"}, {key: "dry-run", text: "flag \"--dry-run\" help=\"Preview API requests without sending them (no network, no OS keychain). Human preview on stderr; with -o json or --jq, one JSON object per request on stdout. Local mutation commands (auth login, auth logout and configure) make no request: they skip prompts and writes and report a no-op (stderr, or one JSON object on stdout in the machine form)\" global=#true default=#false"}, {key: "debug", text: "flag \"-d --debug\" help=\"Log request and response diagnostics to stderr\" global=#true default=#false"}, {key: "agent-mode", text: "flag \"--agent-mode\" help=\"Enable structured errors and default TOON output for AI coding agents. Automatically enabled when a known agent environment is detected (CLAUDECODE, CURSOR_AGENT, etc.). Use --agent-mode=false to disable.\" global=#true default=#false"}, {key: "secret-key", text: "flag \"--secret-key \" help=\"HTTP Bearer\" global=#true env=\"MODAPI_SECRET_KEY\" config=\"security.secret_key\""}, {key: "no-keyring", text: "flag \"--no-keyring\" help=\"Never read or write the OS keychain; store secrets in the config file instead\" global=#true env=\"MODAPI_NO_KEYRING\" config=\"no_keyring\" default=#false"}}, children: []string{"account", "actions", "auth", "authors", "channels", "completion", "configure", "content", "explore", "help", "projects", "queue", "version", "webhook-secret", "webhooks", "whoami", "wordlist"}}, "account": {head: "cmd \"account\" help=\"Operations for account\"", children: []string{"retrieve"}}, "account retrieve": {head: "cmd \"retrieve\" help=\"Get account details\"", flags: []usageItem{{key: "project-id", text: " flag \"-p --project-id \" help=\"The project to act on, by ID or name. Required with an organization key unless the key reaches only one project; list projects with GET /projects. A project key acts on its own project and needs no value: naming another one is an error.\""}}}, "actions": {head: "cmd \"actions\" help=\"Operations for actions\"", children: []string{"create", "delete", "execute", "list", "retrieve", "update"}},