mcpField
C
code-engine-create

code-engine-create

github.com/stahuraクラウド・DevOps24190 回インストール26 週間前に更新
リポジトリ

code-engine-create について

Domo Code Engine のパッケージ作成と関数ペイロードの準備を支援するスキルです。データ型を割り当て、アプリのマニフェストを同期し、作成したバージョンを検証します。

主な機能

  1. 01パッケージペイロードの作成
  2. 02関数の入出力型の割り当て
  3. 03マニフェストのパッケージマッピング同期
  4. 04バージョンと契約の検証
  5. 05明示的な承認後にリリース

活用シーン

  1. 01Code Engine パッケージの新規作成
  2. 02関数のデータ型契約の準備
  3. 03作成後のアプリマニフェスト更新

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/stahura/domo-ai-vibe-rules --skill code-engine-create

インストール後、Claude Code で/code-engine-createを入力して読み込まれたか確認します。

詳細

Code Engine パッケージ作成(CLI)

パッケージ作成ワークフロー、ペイロードの生成、作成後のマッピング同期には、このスキルを使用します。

目的

このスキルでは、アプリランタイム呼び出しスキルの対象外である、次のライフサイクル操作を扱います。

  • 新しいパッケージのシェルを作成する
  • パッケージの初回コンテンツペイロードを公開する
  • 関数の入出力データ型を推測して正規化する
  • 作成後にアプリの manifest.json の packagesMapping エントリを更新する

アプリ内の関数呼び出しパターンについては、~/.agents/skills/code-engine/SKILL.md を使用してください。

主な実行方法

community-domo-cli を優先してください。

community-domo-cli --instance <instance> code-engine create-package --body-file payload.json

CLI を利用できない場合のフォールバックエンドポイント:

POST /api/codeengine/v2/packages

リリースの安全ルール

厳守事項:ユーザーが明示的に 「release」 と指示しない限り、Code Engine のリリースエンドポイントを呼び出してはいけません。

  • 文脈からリリースの指示を推測してはいけません。
  • 「finish」「publish」「make it work」の一環としてリリースしてはいけません。
  • リリースが必要と思われる場合は、いったん停止し、明示的なリリース承認を求めてください。

必須のペイロード形式

{
  "name": "My Package",
  "description": "Optional",
  "code": "// JS source",
  "environment": "LAMBDA",
  "language": "JAVASCRIPT",
  "manifest": {
    "functions": [
      {
        "name": "myFunction",
        "displayName": "My Function",
        "description": "",
        "inputs": [],
        "parameters": [],
        "output": {}
      }
    ],
    "configuration": {
      "accountsMapping": []
    }
  }
}

作成時のセマンティクス:

  • POST /api/codeengine/v2/packages は、パッケージまたはバージョンのペイロードターゲットを作成します。
  • 既存のパッケージに新しいバージョンを作成する場合は、作成ボディに id と version を含め、コードとマニフェストの完全なペイロードを送信します。

データ型のマッピングルール(自動マッピング)

manifest.functions[].inputs/parameters/output を生成する際は、次の既定値を適用します。

  • payload、params、config、data、body、options => object
  • 件数/上限/オフセットを示す名前 => decimal
  • ブール値を示す名前(is*、has*、enabled、required)=> boolean
  • 識別子/テキストフィールド(*id、name、query、message)=> text
  • 不明なもの => text
  • 出力の既定値 => object

両方のフィールドが存在する場合は、type と dataType に同じ型の値を使用します。

作成後のマニフェスト更新

作成が成功したら、アプリの manifest.json の packagesMapping を更新します。

  • packageId に作成されたパッケージ ID を設定する
  • version に返されたバージョン(または明示的に指定されたターゲットバージョン)を設定する
  • マッピングされた各関数の parameters と output が一致していることを確認する

パッケージ ID/バージョンが変更された場合は、既存のマッピングを不整合として扱い、ユーザーが別途指示しない限り、ただちに同期します。

作成後の検証(必須)

成功を宣言する前に、作成後の対象パッケージ/バージョンを検証します。

  1. GET /api/codeengine/v2/packages/{packageId}
  2. 対象のバージョンが存在し、想定される関数名が含まれていることを確認します。
  3. 関数の入出力に、想定されるデータ型と null 許容性が設定されていることを確認します。

作成によって不完全なバージョンシェル(関数のコントラクトが不足している場合など)が返された場合は、更新フローに引き継ぎます。

  • code-engine-update 経由で PUT /api/codeengine/v2/packages/{id}/versions/{version}
  • 更新後に検証を再実行する

チェックリスト

  • CLI 優先の作成を試みた
  • CLI を利用できない場合のエンドポイントへのフォールバックを記載した
  • ペイロードに manifest.functions が含まれている
  • 各関数の入出力にデータ型のマッピングを適用した
  • ユーザーが明示的にリリースを依頼していない限り、リリースを実行していない
  • 対象のパッケージ/バージョンに対する作成後の検証が完了した
  • 不完全な作成結果を code-engine-update に引き継ぎ、再検証した
  • 作成後にマニフェストの packagesMapping を更新した
  • 後続の手順で使えるよう、結果にパッケージ ID/バージョンが含まれている

コメント