スキル

Workflow SDK で TypeScript 関数を永続化し再試行できるようにする

TypeScript または JavaScript 関数に永続化、再試行、可観測性を足す。先に公式パッケージを入れ、サーバー側からのみ起動する。

公式ソース · vercel/workflow

インストール

npm install workflow

誰向けか

このスキルは、TypeScript または JavaScript で「永続できる」関数を書きたい人向けである。公式は、ワークフローの進捗を保存し、失敗したステップを再試行し、組み込みの可観測性を提供すると書く。すでに Next.js を使っており、設定に公式の包みを入れる準備がある人にも向く。

ブラウザから直接ワークフローを起動したいだけの人には向かない。原文は起動位置を API ルート、Server Action、または他のサーバー側コードに限定する。まだ npm を実行できない、またはローカルへのパッケージ導入を受け入れられないなら、説明を読むところで止める。

パッケージを入れたあと、コーディングエージェントは node_modules/workflow/docs から現在のバージョンに合うガイドを読める。公式リポジトリは

https://github.com/vercel/workflow

そのページにすでに書かれたコマンドに従う。

3 分で最初の試行を終える

公式が書いたこの 1 本のインストール経路だけを取る。

前提:このマシンで npm を実行でき、今のディレクトリは依存を書き込んでよいプロジェクトである。先に確認する:npm install workflow は依存一覧を変え、パッケージをダウンロードする。まだこのプロジェクトを変えたくなければ実行しない。

インストール場所:プロジェクトルートで端末を開き、上記の副作用を確認してから実行する:

npm install workflow

低リスクなタスク:パッケージ導入後、本番ルートですぐワークフローを起動しない。先にコーディングエージェントに node_modules/workflow/docs を読み取り専用で開かせ、現在のバージョンに合うローカルガイドが見えるか確認し、Next.js が使うべきインポート文を見つけさせる。ファイルに書かない、外向きリクエストも送らない。

成功の合図:プロジェクト依存に workflow パッケージが現れ、ローカルで node_modules/workflow/docs を開け、エージェントが公式インポート import { withWorkflow } from 'workflow/next' を指せること。エージェントが別のインストールコマンドを作ったら、上の公式コマンドに戻って再試行する。

利用例

例 1:Next.js プロジェクトに公式の包みを付ける。原文が出すインポートは import { withWorkflow } from 'workflow/next'。すでに Next.js プロジェクトがあり、先に設定入口を確かめたい人向け。先にエージェントに、変える設定ファイルを読み取り専用で印させ、確認してから書き込む。原文が完全な設定オブジェクトを展開していないときは「そのインポートを使う」までで止め、現れないオプションを自分で足さない。

例 2:サーバー側から永続できるワークフローを起動する。原文は、その後 API ルート、Server Action、または他のサーバー側コードからワークフローを起動できると書く。すでにパッケージを入れ、サーバー入口が 1 箇所ある人向け。最初はエージェントに、既存のどのサーバー入口から起動するかを指させ、説明のないクライアント入口を新しく作らない。進捗は永続化され、失敗したステップは再試行される。再試行回数と観測パネルの開き方は原文に無いので足さない。

利用上の境界

公式インストールコマンドは原文に 1 本だけ書かれている:npm install workflow。現れないインストーラを主経路に書かない。能力は TypeScript と JavaScript 関数の永続化、失敗再試行、組み込み可観測性であり、他言語で使えることは証明しない。

起動位置は API ルート、Server Action、または他のサーバー側コードまでしか書いていない。ブラウザや指名されていないクライアントから直接起動しない。ローカル文書パスは node_modules/workflow/docs で、コーディングエージェントがバージョンに合うガイドを読むためにある。クライアント一覧は出していないので、特定の助手だけの独占だと書いてはいけない。

秘密鍵、キューバックエンド、本番の観測アカウントは原文で展開されていない。公式ページは

https://github.com/vercel/workflow

エージェントが勧めるコマンドがそのページと食い違うなら、そのページを優先する。