cmx-sdk 0.2.18 → 0.2.19

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 (2) hide show
  1. package/dist/cli.js +53 -0
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -4116,6 +4116,58 @@ async function updateAsset(options) {
4116
4116
  }
4117
4117
  }
4118
4118
 
4119
+ // src/commands/delete-asset.ts
4120
+ async function deleteAsset(options) {
4121
+ ensureApiCredentials();
4122
+ if (!options.id) {
4123
+ console.error("\u30A8\u30E9\u30FC: --id \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044");
4124
+ process.exit(1);
4125
+ }
4126
+ if (!options.force) {
4127
+ const readline4 = await import("readline");
4128
+ const rl = readline4.createInterface({
4129
+ input: process.stdin,
4130
+ output: process.stdout
4131
+ });
4132
+ const answer = await new Promise((resolve5) => {
4133
+ rl.question(
4134
+ `\u30A2\u30BB\u30C3\u30C8 ${options.id} \u3092\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F (yes/no): `,
4135
+ resolve5
4136
+ );
4137
+ });
4138
+ rl.close();
4139
+ if (answer.toLowerCase() !== "yes") {
4140
+ console.log("\u524A\u9664\u3092\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u307E\u3057\u305F\u3002");
4141
+ process.exit(0);
4142
+ }
4143
+ }
4144
+ const apiUrl = process.env.CMX_API_URL.replace(/\/$/, "");
4145
+ const apiKey = process.env.CMX_API_KEY;
4146
+ try {
4147
+ console.log(`\u30A2\u30BB\u30C3\u30C8\u3092\u524A\u9664\u3057\u3066\u3044\u307E\u3059: ${options.id}...`);
4148
+ const response = await fetch(`${apiUrl}/api/mcp/assets`, {
4149
+ method: "DELETE",
4150
+ headers: {
4151
+ Authorization: `Bearer ${apiKey}`,
4152
+ "Content-Type": "application/json"
4153
+ },
4154
+ body: JSON.stringify({
4155
+ assetId: options.id,
4156
+ force: options.force ?? false
4157
+ })
4158
+ });
4159
+ const rawBody = await response.text();
4160
+ if (!response.ok) {
4161
+ throw new Error(`API \u30A8\u30E9\u30FC (${response.status}): ${formatApiErrorMessage(rawBody)}`);
4162
+ }
4163
+ console.log("\u30A2\u30BB\u30C3\u30C8\u3092\u524A\u9664\u3057\u307E\u3057\u305F\u3002");
4164
+ } catch (error) {
4165
+ console.error("\u2717 \u30A2\u30BB\u30C3\u30C8\u524A\u9664\u306B\u5931\u6557\u3057\u307E\u3057\u305F:");
4166
+ console.error(error instanceof Error ? error.message : String(error));
4167
+ process.exit(1);
4168
+ }
4169
+ }
4170
+
4119
4171
  // src/cli.ts
4120
4172
  config();
4121
4173
  installSdkFetchInterceptor();
@@ -4244,6 +4296,7 @@ program.command("create-data-entry").description("\u30C7\u30FC\u30BF\u30A8\u30F3
4244
4296
  program.command("upload-asset").description("\u30A2\u30BB\u30C3\u30C8\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\uFF08MCP Assets API\uFF09").requiredOption("--file <path>", "\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3059\u308B\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9").option("--alt <text>", "\u4EE3\u66FF\u30C6\u30AD\u30B9\u30C8").option("--description <text>", "\u8AAC\u660E").option("--ai-summary <text>", "AI\u5411\u3051\u30B5\u30DE\u30EA\uFF08\u753B\u50CF\u5185\u5BB9\u306E\u6587\u7AE0\u8AAC\u660E\uFF09").option("--group <slug>", "\u30A2\u30BB\u30C3\u30C8\u30B0\u30EB\u30FC\u30D7\u306E\u30B9\u30E9\u30C3\u30B0").option("--tags <tags>", "\u30BF\u30B0\uFF08\u30AB\u30F3\u30DE\u533A\u5207\u308A\uFF09").option("--mime <type>", "MIME type\uFF08\u672A\u6307\u5B9A\u6642\u306F\u62E1\u5F35\u5B50\u304B\u3089\u63A8\u5B9A\uFF09").action(uploadAsset);
4245
4297
  program.command("list-assets").description("\u30A2\u30BB\u30C3\u30C8\u3092\u691C\u7D22\u30FB\u4E00\u89A7\u8868\u793A\uFF08MCP Assets API\uFF09").option("--group <slug>", "\u30B0\u30EB\u30FC\u30D7\u30B9\u30E9\u30C3\u30B0\u3067\u7D5E\u308A\u8FBC\u307F").option("--tags <tags>", "\u30BF\u30B0\uFF08\u30AB\u30F3\u30DE\u533A\u5207\u308A\uFF09\u3067\u7D5E\u308A\u8FBC\u307F").option("--query <text>", "\u691C\u7D22\u30AF\u30A8\u30EA\uFF08alt/description \u3092\u691C\u7D22\uFF09").option("--mime <type>", "MIME type\uFF08\u4F8B: image, video, image/png\uFF09").option("--limit <number>", "\u53D6\u5F97\u4EF6\u6570\uFF08\u6700\u592750\uFF09").option("--offset <number>", "\u30AA\u30D5\u30BB\u30C3\u30C8").action(listAssets);
4246
4298
  program.command("update-asset").description("\u30A2\u30BB\u30C3\u30C8\u306E\u30E1\u30BF\u30C7\u30FC\u30BF\u3092\u66F4\u65B0\uFF08MCP Assets API\uFF09").requiredOption("--id <id>", "\u30A2\u30BB\u30C3\u30C8 ID").option("--alt <text>", "\u4EE3\u66FF\u30C6\u30AD\u30B9\u30C8\uFF08\u7A7A\u6587\u5B57\u3067\u30AF\u30EA\u30A2\uFF09").option("--description <text>", "\u8AAC\u660E\uFF08\u7A7A\u6587\u5B57\u3067\u30AF\u30EA\u30A2\uFF09").option("--ai-summary <text>", "AI\u5411\u3051\u30B5\u30DE\u30EA\uFF08\u753B\u50CF\u5185\u5BB9\u306E\u6587\u7AE0\u8AAC\u660E\u3002\u7A7A\u6587\u5B57\u3067\u30AF\u30EA\u30A2\uFF09").option("--group <slug>", "\u30B0\u30EB\u30FC\u30D7\u30B9\u30E9\u30C3\u30B0").option("--clear-group", "\u30B0\u30EB\u30FC\u30D7\u3092\u89E3\u9664").option("--tags <tags>", "\u30BF\u30B0\uFF08\u30AB\u30F3\u30DE\u533A\u5207\u308A\uFF09").option("--clear-tags", "\u30BF\u30B0\u3092\u5168\u524A\u9664").action(updateAsset);
4299
+ program.command("delete-asset").description("\u30A2\u30BB\u30C3\u30C8\u3092\u524A\u9664\uFF08MCP Assets API\uFF09").requiredOption("--id <id>", "\u30A2\u30BB\u30C3\u30C8 ID").option("--force", "\u78BA\u8A8D\u30D7\u30ED\u30F3\u30D7\u30C8\u3092\u30B9\u30AD\u30C3\u30D7\uFF06\u53C2\u7167\u4E2D\u3067\u3082\u5F37\u5236\u524A\u9664").action(deleteAsset);
4247
4300
  program.command("list-data-entries").description("\u30C7\u30FC\u30BF\u30BF\u30A4\u30D7\u3054\u3068\u306E\u30C7\u30FC\u30BF\u30A8\u30F3\u30C8\u30EA\u30FC\u4E00\u89A7\u3092\u8868\u793A").requiredOption("--type-slug <slug>", "\u30C7\u30FC\u30BF\u30BF\u30A4\u30D7\u306E\u30B9\u30E9\u30C3\u30B0").option("--sort-by <field>", "\u4E26\u3073\u66FF\u3048\u5BFE\u8C61\u30D5\u30A3\u30FC\u30EB\u30C9").option("--sort-order <order>", "\u4E26\u3073\u9806 (asc \u307E\u305F\u306F desc)").option("--limit <number>", "\u53D6\u5F97\u4EF6\u6570\u306E\u4E0A\u9650").option("--offset <number>", "\u30B9\u30AD\u30C3\u30D7\u4EF6\u6570").option("--status <status>", "\u30B9\u30C6\u30FC\u30BF\u30B9\u3067\u7D5E\u308A\u8FBC\u307F\uFF08draft, review, published\uFF09").action(listDataEntries);
4248
4301
  program.command("get-data-entry").description("\u5358\u4E00\u306E\u30C7\u30FC\u30BF\u30A8\u30F3\u30C8\u30EA\u30FC\u3092\u53D6\u5F97").requiredOption("--type-slug <slug>", "\u30C7\u30FC\u30BF\u30BF\u30A4\u30D7\u306E\u30B9\u30E9\u30C3\u30B0").requiredOption("--id <id>", "\u30C7\u30FC\u30BF\u30A8\u30F3\u30C8\u30EA\u30FC ID").action(getDataEntry);
4249
4302
  program.command("update-data-entry").description("\u30C7\u30FC\u30BF\u30A8\u30F3\u30C8\u30EA\u30FC\u3092\u66F4\u65B0").requiredOption("--type-slug <slug>", "\u30C7\u30FC\u30BF\u30BF\u30A4\u30D7\u306E\u30B9\u30E9\u30C3\u30B0").requiredOption("--id <id>", "\u30C7\u30FC\u30BF\u30A8\u30F3\u30C8\u30EA\u30FC ID").option("--json <json>", "\u66F4\u65B0\u5185\u5BB9\u306E JSON \u6587\u5B57\u5217").option("--file <file>", "\u66F4\u65B0\u5185\u5BB9 JSON \u30D5\u30A1\u30A4\u30EB\u306E\u30D1\u30B9").option("--status <status>", "\u30B9\u30C6\u30FC\u30BF\u30B9\uFF08draft, review, published\uFF09").action(updateDataEntry);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cmx-sdk",
3
- "version": "0.2.18",
3
+ "version": "0.2.19",
4
4
  "description": "CMX SDK - Official SDK for building content-driven websites with CMX",
5
5
  "type": "module",
6
6
  "license": "MIT",