@h-ai/cli 1.0.0-beta.17 → 1.0.0-beta.18

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.
package/README.en.md CHANGED
@@ -170,6 +170,8 @@ pnpm run deploy --env prod --build --services "serv,web"
170
170
  pnpm run deploy --env prod --build --bundle-only
171
171
  ```
172
172
 
173
+ For automation, run `hai build --target image --json`. On success stdout contains one JSON result with `artifactDir` for deployment and `manifest` with the source commit, dirty state, image platforms and SHA-256 checksums. Progress and errors go to stderr.
174
+
173
175
  The default deployment name comes from `package.json.name` at the project root (the nearest `hai.json` or lockfile directory), rejecting missing or invalid names, with an explicit environment appended. A fullstack `hai-delivery` project scanned at `packages/hai-delivery-serv` with `--env test` generates `/opt/hai/apps/hai-delivery-test` and `bundle-hai-delivery-test-<deploymentId>-<version>.tar.gz`. Remote directories, bundles, the Compose project, API/Web/middleware containers, data volumes, server credential state and incremental baselines share this name. Actual project names ending in `-serv` are preserved.
174
176
 
175
177
  Artifact formats 4 and 5 record primaryService (serv/web); hasWeb describes the complete browser topology. Format 5 also records a non-root webBasePath. Only serv + web generates a same-origin API proxy. Rebuild artifacts using formats 1–3. Back up the existing deployment and verify project identity, volumes and managed credentials before establishing a new full deployment baseline. Tools do not migrate data across projects. Full deployments still remove obsolete service containers under the same Compose project; editing deploy-target.json.directory alone does not migrate resources.
package/README.ja.md CHANGED
@@ -170,6 +170,8 @@ pnpm run deploy --env prod --build --services "serv,web"
170
170
  pnpm run deploy --env prod --build --bundle-only
171
171
  ```
172
172
 
173
+ 自動化では `hai build --target image --json` を使います。成功時は今回の JSON 結果だけを標準出力に書き込みます。`artifactDir` はデプロイ入力に使用でき、`manifest` にはソースコミット、未コミットの変更の有無、イメージのプラットフォームと SHA-256 が含まれます。進捗とエラーは標準エラーに書き込みます。
174
+
173
175
  既定の配置名はプロジェクトルート(最も近い `hai.json` またはロックファイルのディレクトリ)の `package.json.name` を使い、未指定または無効な名前はエラーになります。明示した環境名を末尾に追加します。fullstack の `hai-delivery` で `packages/hai-delivery-serv` を走査しても、`--env test` は `/opt/hai/apps/hai-delivery-test` と `bundle-hai-delivery-test-<配置ID>-<版>.tar.gz` を生成します。接続先ディレクトリ、配布物、Compose プロジェクト、API/Web/ミドルウェアのコンテナー、ボリューム、サーバー認証状態のファイル名、増分基準で同じ名前を使います。実際のプロジェクト名に含まれる `-serv` は削除しません。
174
176
 
175
177
  成果物形式4・5はprimaryService(serv/web)と、工程全体のブラウザー構成を示すhasWebを記録します。形式5には非ルートのwebBasePathも含まれます。同一オリジンAPIプロキシはserv + webの場合だけ生成します。形式1~3は再構築が必要です。既存デプロイをバックアップし、プロジェクト名・ボリューム・管理対象の認証情報を確認してから、新しい完全デプロイの基準を作成してください。プロジェクト間のデータ移行は自動化しません。完全デプロイでは同じComposeプロジェクトの旧サービスコンテナーを削除するため、deploy-target.json.directoryの変更だけでは移行できません。
package/README.md CHANGED
@@ -170,6 +170,8 @@ pnpm run deploy --env prod --build --services "serv,web"
170
170
  pnpm run deploy --env prod --build --bundle-only
171
171
  ```
172
172
 
173
+ 自动化使用 `hai build --target image --json`。成功时 stdout 只包含本次构建的 JSON,其中 `artifactDir` 可直接传给部署;`manifest` 包含来源提交、是否有未提交改动、镜像平台和 SHA-256。进度及失败信息写到 stderr。
174
+
173
175
  默认部署名取工程根(最近的 `hai.json` 或锁文件所在目录)的 `package.json.name`,缺失时报错,再附加显式环境后缀。例如 fullstack 工程 `hai-delivery` 扫描 `packages/hai-delivery-serv`,`--env test` 生成 `/opt/hai/apps/hai-delivery-test` 和 `bundle-hai-delivery-test-<部署ID>-<版本>.tar.gz`。远端目录、交付包、Compose 项目、API/Web/中间件容器、数据卷、服务器凭据状态及增量基线统一使用该名称;不会按字符串删除真实项目名中的 `-serv`。
174
176
 
175
177
  制品格式4和5都记录 primaryService(serv/web),hasWeb 表示完整工程是否包含浏览器端;格式5另记录非根目录webBasePath。只有 serv + web 才生成同源 API 代理。格式1至3制品须重新构建。旧部署先备份并核对项目名、数据卷和受管凭据,再切换到新的完整部署基线;工具不自动跨项目迁移数据。完整部署仍会按 Compose 规则清理同项目的旧服务容器,不能仅修改 deploy-target.json.directory 完成迁移。
@@ -97,7 +97,8 @@ var en_US_default = {
97
97
  cli_build_failed: "Build command {command} failed (exit {code}).",
98
98
  cli_build_use_pnpm: "Run via pnpm build to use the project pnpm executable.",
99
99
  cli_build_target_invalid: "target must be compile, image, app or desktop.",
100
- cli_build_options_invalid: "Image selection and concurrency require image. Runtime, network and downloads require image or container Android; platform and debug require a native target, and arch requires desktop.",
100
+ cli_build_options_invalid: "Image selection, concurrency and --json require the image target. Runtime, network and downloads require image or container Android; platform and debug require a native target, and arch requires desktop.",
101
+ cli_build_image_platform_invalid: "Could not determine the platform of the built image.",
101
102
  cli_build_version_invalid: "Set a valid three-part version in the application root package.json (for example 1.2.3 or 1.2.3-beta.1; at most 80 characters).",
102
103
  cli_build_native_host: "Build Tauri on the matching OS (windows/linux/macos), with x64 or arm64 architecture. Install the Rust target, system SDK and packaging tools first.",
103
104
  cli_project_config_invalid: "Cannot read project configuration {path}. Ensure the file exists and contains a valid JSON object.",
@@ -165,6 +166,7 @@ var en_US_default = {
165
166
  cli_help_force: "Overwrite existing output files",
166
167
  cli_help_build: "Compile sources, build container images or create Tauri installers",
167
168
  cli_help_target: "Artifact target: compile (default) / image / desktop / app",
169
+ cli_help_buildJson: "Print only this image build's JSON result to standard output",
168
170
  cli_help_images: "Build selected images: serv, web, or serv,web",
169
171
  cli_help_buildRuntime: "Local container engine: auto (prefers Podman), podman or docker",
170
172
  cli_help_buildNetwork: "Build network; defaults to the engine setting (for example, rootless Podman pasta)",
@@ -542,7 +544,8 @@ var ja_JP_default = {
542
544
  cli_build_failed: "\u30D3\u30EB\u30C9\u30B3\u30DE\u30F3\u30C9{command}\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08\u7D42\u4E86\u30B3\u30FC\u30C9{code}\uFF09\u3002",
543
545
  cli_build_use_pnpm: "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306Epnpm\u5B9F\u884C\u30D5\u30A1\u30A4\u30EB\u3092\u4F7F\u7528\u3059\u308B\u305F\u3081\u3001pnpm build\u3067\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
544
546
  cli_build_target_invalid: "target\u306B\u306Fcompile\u3001image\u3001app\u3001desktop\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
545
- cli_build_options_invalid: "\u30A4\u30E1\u30FC\u30B8\u9078\u629E\u3068\u4E26\u5217\u6570\u306F image \u7528\u3067\u3059\u3002\u30A8\u30F3\u30B8\u30F3\u3001\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3001\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u8A2D\u5B9A\u306F image \u307E\u305F\u306F Android \u30B3\u30F3\u30C6\u30CA\u7528\u3001platform \u3068 debug \u306F\u30CD\u30A4\u30C6\u30A3\u30D6\u7528\u3001arch \u306F desktop \u7528\u3067\u3059\u3002",
547
+ cli_build_options_invalid: "\u30A4\u30E1\u30FC\u30B8\u9078\u629E\u3001\u4E26\u5217\u6570\u3001--json \u306F image \u7528\u3067\u3059\u3002\u30A8\u30F3\u30B8\u30F3\u3001\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3001\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u8A2D\u5B9A\u306F image \u307E\u305F\u306F Android \u30B3\u30F3\u30C6\u30CA\u7528\u3001platform \u3068 debug \u306F\u30CD\u30A4\u30C6\u30A3\u30D6\u7528\u3001arch \u306F desktop \u7528\u3067\u3059\u3002",
548
+ cli_build_image_platform_invalid: "\u30D3\u30EB\u30C9\u3057\u305F\u30A4\u30E1\u30FC\u30B8\u306E\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u3092\u5224\u5B9A\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002",
546
549
  cli_build_version_invalid: "\u30A2\u30D7\u30EA\u30EB\u30FC\u30C8\u306Epackage.json\u306B\u6709\u52B9\u306A3\u90E8\u69CB\u6210\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\uFF08\u4F8B: 1.2.3\u307E\u305F\u306F1.2.3-beta.1\u300180\u6587\u5B57\u4EE5\u5185\uFF09\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
547
550
  cli_build_native_host: "\u5BFE\u5FDC\u3059\u308BOS\uFF08windows/linux/macos\uFF09\u3068x64\u307E\u305F\u306Farm64\u3067Tauri\u3092\u30D3\u30EB\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u5148\u306BRust\u30BF\u30FC\u30B2\u30C3\u30C8\u3001\u30B7\u30B9\u30C6\u30E0SDK\u3001\u30D1\u30C3\u30B1\u30FC\u30B8\u30C4\u30FC\u30EB\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
548
551
  cli_project_config_invalid: "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A2D\u5B9A {path} \u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3002\u30D5\u30A1\u30A4\u30EB\u306E\u5B58\u5728\u3068\u3001\u6709\u52B9\u306A JSON \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u3042\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
@@ -610,6 +613,7 @@ var ja_JP_default = {
610
613
  cli_help_force: "\u65E2\u5B58\u306E\u51FA\u529B\u30D5\u30A1\u30A4\u30EB\u3092\u4E0A\u66F8\u304D",
611
614
  cli_help_build: "\u30BD\u30FC\u30B9\u306E\u30B3\u30F3\u30D1\u30A4\u30EB\u3001\u30B3\u30F3\u30C6\u30CA\u30FC\u30A4\u30E1\u30FC\u30B8\u306E\u30D3\u30EB\u30C9\u3001\u307E\u305F\u306F Tauri \u30A4\u30F3\u30B9\u30C8\u30FC\u30E9\u30FC\u306E\u4F5C\u6210",
612
615
  cli_help_target: "\u6210\u679C\u7269: compile\uFF08\u65E2\u5B9A\uFF09/ image / desktop / app",
616
+ cli_help_buildJson: "\u3053\u306E\u30A4\u30E1\u30FC\u30B8\u30D3\u30EB\u30C9\u306E JSON \u7D50\u679C\u3060\u3051\u3092\u6A19\u6E96\u51FA\u529B\u306B\u66F8\u304D\u8FBC\u307F\u307E\u3059",
613
617
  cli_help_images: "\u69CB\u7BC9\u3059\u308B\u30A4\u30E1\u30FC\u30B8\uFF1Aserv\u3001web\u3001serv,web",
614
618
  cli_help_buildRuntime: "\u30ED\u30FC\u30AB\u30EB\u306E\u30B3\u30F3\u30C6\u30CA\u30FC\u30A8\u30F3\u30B8\u30F3\uFF1Aauto\uFF08Podman \u3092\u512A\u5148\uFF09\u3001podman\u3001docker",
615
619
  cli_help_buildNetwork: "\u30D3\u30EB\u30C9\u7528\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3002\u65E2\u5B9A\u3067\u306F\u30A8\u30F3\u30B8\u30F3\u8A2D\u5B9A\u3092\u4F7F\u7528\uFF08rootless Podman \u306E pasta \u306A\u3069\uFF09",
@@ -987,7 +991,8 @@ var zh_CN_default = {
987
991
  cli_build_failed: "\u6784\u5EFA\u547D\u4EE4 {command} \u5931\u8D25\uFF08\u9000\u51FA\u7801 {code}\uFF09\u3002",
988
992
  cli_build_use_pnpm: "\u8BF7\u901A\u8FC7 pnpm build \u8FD0\u884C\u6784\u5EFA\uFF0C\u786E\u4FDD\u4F7F\u7528\u5F53\u524D\u9879\u76EE\u7684 pnpm\u3002",
989
993
  cli_build_target_invalid: "target \u5FC5\u987B\u4E3A compile\u3001image\u3001app \u6216 desktop\u3002",
990
- cli_build_options_invalid: "\u955C\u50CF\u9009\u62E9\u548C\u5E76\u884C\u6570\u4EC5\u7528\u4E8E image\u3002\u5F15\u64CE\u3001\u7F51\u7EDC\u548C\u4E0B\u8F7D\u8BBE\u7F6E\u7528\u4E8E image \u6216\u5BB9\u5668 Android\uFF1Bplatform \u548C debug \u7528\u4E8E\u539F\u751F\u5305\uFF0Carch \u4EC5\u7528\u4E8E desktop\u3002",
994
+ cli_build_options_invalid: "\u955C\u50CF\u9009\u62E9\u3001\u5E76\u884C\u6570\u548C --json \u4EC5\u7528\u4E8E image\u3002\u5F15\u64CE\u3001\u7F51\u7EDC\u548C\u4E0B\u8F7D\u8BBE\u7F6E\u7528\u4E8E image \u6216\u5BB9\u5668 Android\uFF1Bplatform \u548C debug \u7528\u4E8E\u539F\u751F\u5305\uFF0Carch \u4EC5\u7528\u4E8E desktop\u3002",
995
+ cli_build_image_platform_invalid: "\u65E0\u6CD5\u786E\u5B9A\u5DF2\u6784\u5EFA\u955C\u50CF\u7684\u5E73\u53F0\u548C\u67B6\u6784\u3002",
991
996
  cli_build_version_invalid: "\u8BF7\u5728\u5E94\u7528\u6839 package.json \u4E2D\u8BBE\u7F6E\u6709\u6548\u7684\u4E09\u6BB5\u5F0F\u7248\u672C\uFF08\u5982 1.2.3 \u6216 1.2.3-beta.1\uFF0C\u6700\u957F 80 \u5B57\u7B26\uFF09\u3002",
992
997
  cli_build_native_host: "Tauri \u9700\u8981\u5728\u5BF9\u5E94\u7CFB\u7EDF\u4E0A\u6784\u5EFA\uFF08windows/linux/macos\uFF09\uFF0C\u67B6\u6784\u4E3A x64 \u6216 arm64\uFF1B\u8BF7\u5148\u5B89\u88C5\u5BF9\u5E94 Rust target\u3001\u7CFB\u7EDF SDK \u548C\u6253\u5305\u5DE5\u5177\u3002",
993
998
  cli_project_config_invalid: "\u65E0\u6CD5\u8BFB\u53D6\u9879\u76EE\u914D\u7F6E {path}\uFF0C\u8BF7\u786E\u8BA4\u6587\u4EF6\u5B58\u5728\u4E14\u5185\u5BB9\u4E3A\u5408\u6CD5 JSON \u5BF9\u8C61\u3002",
@@ -1055,6 +1060,7 @@ var zh_CN_default = {
1055
1060
  cli_help_force: "\u8986\u76D6\u73B0\u6709\u6587\u4EF6",
1056
1061
  cli_help_build: "\u6784\u5EFA\u6E90\u7801\u3001Docker \u955C\u50CF\u6216 Tauri \u5B89\u88C5\u5305\uFF08\u4E0D\u533A\u5206\u90E8\u7F72\u73AF\u5883\uFF09",
1057
1062
  cli_help_target: "\u4EA7\u7269\u7C7B\u578B\uFF1Acompile\uFF08\u9ED8\u8BA4\uFF09/ image / desktop / app",
1063
+ cli_help_buildJson: "\u4EC5\u5C06\u672C\u6B21\u955C\u50CF\u6784\u5EFA\u7684 JSON \u7ED3\u679C\u5199\u5230\u6807\u51C6\u8F93\u51FA",
1058
1064
  cli_help_images: "\u53EA\u6784\u5EFA\u6307\u5B9A\u955C\u50CF\uFF1Aserv\u3001web \u6216 serv,web",
1059
1065
  cli_help_buildRuntime: "\u672C\u5730\u5BB9\u5668\u5F15\u64CE\uFF1Aauto\uFF08\u4F18\u5148 Podman\uFF09/ podman / docker",
1060
1066
  cli_help_buildNetwork: "\u5BB9\u5668\u6784\u5EFA\u7F51\u7EDC\uFF08\u9ED8\u8BA4\u5F15\u64CE\u8BBE\u7F6E\uFF09\uFF0C\u4F8B\u5982 rootless Podman \u7684 pasta",
@@ -1646,5 +1652,5 @@ async function generateProjectAiSupport(projectPath, skillNames, options = {}) {
1646
1652
  }
1647
1653
 
1648
1654
  export { cliM, generateModuleSkillFile, generateProjectAiSupport, generateSkillFiles, resolveCompatibleSkillNames, resolveSkillNamesForPackages };
1649
- //# sourceMappingURL=chunk-EWTIVFHN.js.map
1650
- //# sourceMappingURL=chunk-EWTIVFHN.js.map
1655
+ //# sourceMappingURL=chunk-6YZBC5MO.js.map
1656
+ //# sourceMappingURL=chunk-6YZBC5MO.js.map