feat(cli): add recipe / auth-recipe commands + update push/creds/init
- New: acr recipe (push/list/get a user recipe to RECIPES KV) - New: acr auth-recipe (inspect platform-seeded auth recipes) - push/creds/init/parts/config updated to match the new cypher-executor routing (/auth, /credentials, webhooks-named). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+33
-1
@@ -13,15 +13,17 @@ import { cmdPush } from './commands/push.js';
|
||||
import { cmdRun } from './commands/run.js';
|
||||
import { cmdValidate } from './commands/validate.js';
|
||||
import { cmdParts, cmdPartsScaffold, cmdPartsPublish } from './commands/parts.js';
|
||||
import { cmdRecipePush, cmdRecipeList, cmdRecipeDelete } from './commands/recipe.js';
|
||||
import { cmdList } from './commands/list.js';
|
||||
import { cmdLogs } from './commands/logs.js';
|
||||
import { cmdAuthRecipeList, cmdAuthRecipeInfo, cmdAuthRecipeScaffold } from './commands/auth-recipe.js';
|
||||
|
||||
const program = new Command();
|
||||
|
||||
program
|
||||
.name('acr')
|
||||
.description('arcrun — AI Workflow CLI for Cloudflare Workers + WASM')
|
||||
.version('1.0.0');
|
||||
.version('1.1.0');
|
||||
|
||||
// acr init [--self-hosted]
|
||||
program
|
||||
@@ -76,6 +78,36 @@ partsCmd
|
||||
.option('--status <submission_id>', '查詢提交審核進度')
|
||||
.action((dir: string, options: { status?: string }) => cmdPartsPublish(dir, options));
|
||||
|
||||
// acr recipe push / list / delete
|
||||
const recipeCmd = program.command('recipe').description('API Recipe 管理');
|
||||
recipeCmd
|
||||
.command('push <file>')
|
||||
.description('上傳 recipe YAML 到 arcrun.dev(不需要 deploy Worker)')
|
||||
.action((file: string) => cmdRecipePush(file));
|
||||
recipeCmd
|
||||
.command('list')
|
||||
.description('列出已上傳的 recipe')
|
||||
.action(() => cmdRecipeList());
|
||||
recipeCmd
|
||||
.command('delete <id>')
|
||||
.description('刪除 recipe(canonical_id 或 rec_hash)')
|
||||
.action((id: string) => cmdRecipeDelete(id));
|
||||
|
||||
// acr auth-recipe list / info / scaffold
|
||||
const authRecipeCmd = program.command('auth-recipe').description('第三方服務認證 Recipe(新增服務整合)');
|
||||
authRecipeCmd
|
||||
.command('list')
|
||||
.description('列出所有平台預建的服務整合(Notion、Slack、GitHub 等)')
|
||||
.action(() => cmdAuthRecipeList());
|
||||
authRecipeCmd
|
||||
.command('info <service>')
|
||||
.description('顯示服務 recipe 詳情(需要哪些 credential)')
|
||||
.action((service: string) => cmdAuthRecipeInfo(service));
|
||||
authRecipeCmd
|
||||
.command('scaffold <service>')
|
||||
.description('輸出 credentials.yaml 範本 + workflow.yaml 使用範例')
|
||||
.action((service: string) => cmdAuthRecipeScaffold(service));
|
||||
|
||||
// acr list
|
||||
program
|
||||
.command('list')
|
||||
|
||||
Reference in New Issue
Block a user