@pippit-dev/cli 1.0.44 → 1.0.45

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/checksums.txt CHANGED
@@ -1,6 +1,6 @@
1
- 8bf338b7fc4bb3de289778896059f364f91743e7fe3127380e193f29bb10fecf pippit-tool-cli-1.0.44-darwin-amd64.tar.gz
2
- fd7aac74fda167481b76e3a7aa2f30e45271670cad11f0e969080db1b135411a pippit-tool-cli-1.0.44-darwin-arm64.tar.gz
3
- 526e3641047d7e997fb5c271d795337692b0a47c092622747f6e2b4e9d22e473 pippit-tool-cli-1.0.44-linux-amd64.tar.gz
4
- 6170436a3ec60dc2a2681e6f790c6a52d9daa4248ce8c3eede83136a62ccb4b6 pippit-tool-cli-1.0.44-linux-arm64.tar.gz
5
- d3c7166314bb52deae5e0caf383ac7e3cdde27c61325d6556de43f8f46aa9963 pippit-tool-cli-1.0.44-windows-amd64.zip
6
- 9cb3d470688cd89a42a2267d9d181159dd624937c9590d3b744db25a66edbac9 pippit-tool-cli-1.0.44-windows-arm64.zip
1
+ 3802437e93dcd395df47e4e735a8a4b958528f76ea64d672cd3fa3cb719fd163 pippit-tool-cli-1.0.45-darwin-amd64.tar.gz
2
+ b80b030e77b0fbdffb0b05c8a38fdc5c939d01ca69cb1ab6d2c0bd0c1e236892 pippit-tool-cli-1.0.45-darwin-arm64.tar.gz
3
+ 33095e1ceec2220ea1b79abfa56948dd5d237c1831ab2437c8af064d00db7c99 pippit-tool-cli-1.0.45-linux-amd64.tar.gz
4
+ 85a91aeae7b9ea1324a8aee1be576fad12297cecdfe2828851147d50f4dbc177 pippit-tool-cli-1.0.45-linux-arm64.tar.gz
5
+ e93240dbc814104ea278197aff983c2491089be1b9fe55f216007b1a612c7f93 pippit-tool-cli-1.0.45-windows-amd64.zip
6
+ d5f196ea5b5f466911573a1177702ad00f27da153d2f29b5b1e65cd60f7f5100 pippit-tool-cli-1.0.45-windows-arm64.zip
@@ -1,6 +1,6 @@
1
- 8bf338b7fc4bb3de289778896059f364f91743e7fe3127380e193f29bb10fecf pippit-tool-cli-1.0.44-darwin-amd64.tar.gz
2
- fd7aac74fda167481b76e3a7aa2f30e45271670cad11f0e969080db1b135411a pippit-tool-cli-1.0.44-darwin-arm64.tar.gz
3
- 526e3641047d7e997fb5c271d795337692b0a47c092622747f6e2b4e9d22e473 pippit-tool-cli-1.0.44-linux-amd64.tar.gz
4
- 6170436a3ec60dc2a2681e6f790c6a52d9daa4248ce8c3eede83136a62ccb4b6 pippit-tool-cli-1.0.44-linux-arm64.tar.gz
5
- d3c7166314bb52deae5e0caf383ac7e3cdde27c61325d6556de43f8f46aa9963 pippit-tool-cli-1.0.44-windows-amd64.zip
6
- 9cb3d470688cd89a42a2267d9d181159dd624937c9590d3b744db25a66edbac9 pippit-tool-cli-1.0.44-windows-arm64.zip
1
+ 3802437e93dcd395df47e4e735a8a4b958528f76ea64d672cd3fa3cb719fd163 pippit-tool-cli-1.0.45-darwin-amd64.tar.gz
2
+ b80b030e77b0fbdffb0b05c8a38fdc5c939d01ca69cb1ab6d2c0bd0c1e236892 pippit-tool-cli-1.0.45-darwin-arm64.tar.gz
3
+ 33095e1ceec2220ea1b79abfa56948dd5d237c1831ab2437c8af064d00db7c99 pippit-tool-cli-1.0.45-linux-amd64.tar.gz
4
+ 85a91aeae7b9ea1324a8aee1be576fad12297cecdfe2828851147d50f4dbc177 pippit-tool-cli-1.0.45-linux-arm64.tar.gz
5
+ e93240dbc814104ea278197aff983c2491089be1b9fe55f216007b1a612c7f93 pippit-tool-cli-1.0.45-windows-amd64.zip
6
+ d5f196ea5b5f466911573a1177702ad00f27da153d2f29b5b1e65cd60f7f5100 pippit-tool-cli-1.0.45-windows-arm64.zip
@@ -94,12 +94,12 @@ func UploadFile(ctx context.Context, opts UploadFileOptions, runner *Runner) (*U
94
94
  if resp.Errmsg == "" {
95
95
  resp.Errmsg = "未知错误"
96
96
  }
97
- return nil, fmt.Errorf("上传文件请求返回失败: ret=%s errmsg=%s", resp.Ret, resp.Errmsg)
97
+ return nil, NewLogIDError(fmt.Sprintf("上传文件请求返回失败: ret=%s errmsg=%s", resp.Ret, resp.Errmsg), resp.LogID)
98
98
  }
99
99
 
100
100
  assetID := strings.TrimSpace(resp.Data.PippitAssetID)
101
101
  if assetID == "" {
102
- return nil, fmt.Errorf("上传文件响应缺少 pippit_asset_id")
102
+ return nil, NewLogIDError("上传文件响应缺少 pippit_asset_id", resp.LogID)
103
103
  }
104
104
 
105
105
  return &UploadFileResult{
@@ -60,7 +60,7 @@ func Run(ctx context.Context, opts *Options, runner *common.Runner) (*common.Sub
60
60
 
61
61
  imageAssetIDs, err := uploadImageList(ctx, opts.ImagePaths, runner)
62
62
  if err != nil {
63
- return nil, fmt.Errorf("上传图片失败: %w", err)
63
+ return nil, err
64
64
  }
65
65
 
66
66
  body := buildSubmitRunBody(opts, modelKey, imageAssetIDs)
@@ -128,14 +128,14 @@ func SupportedRatioUsage() string {
128
128
 
129
129
  func uploadImageList(ctx context.Context, paths []string, runner *common.Runner) ([]string, error) {
130
130
  assetIDs := make([]string, 0, len(paths))
131
- for _, path := range paths {
131
+ for i, path := range paths {
132
132
  expanded, err := common.ExpandPath(path)
133
133
  if err != nil {
134
- return nil, err
134
+ return nil, fmt.Errorf("第%d张参考图片 %q 路径解析失败: %w", i+1, filepath.Base(path), err)
135
135
  }
136
136
  result, err := common.UploadFile(ctx, common.UploadFileOptions{Path: expanded}, runner)
137
137
  if err != nil {
138
- return nil, err
138
+ return nil, fmt.Errorf("第%d张参考图片 %q 上传失败: %w", i+1, filepath.Base(path), err)
139
139
  }
140
140
  assetIDs = append(assetIDs, result.AssetID)
141
141
  }
@@ -45,17 +45,17 @@ func Run(ctx context.Context, opts *Options, runner *common.Runner) (*Result, er
45
45
  return nil, err
46
46
  }
47
47
 
48
- imageAssetIDs, err := uploadMediaList(ctx, opts.ImagePaths, runner)
48
+ imageAssetIDs, err := uploadMediaList(ctx, "张参考图片", opts.ImagePaths, runner)
49
49
  if err != nil {
50
- return nil, fmt.Errorf("上传图片失败: %w", err)
50
+ return nil, err
51
51
  }
52
- videoAssetIDs, err := uploadMediaList(ctx, opts.VideoPaths, runner)
52
+ videoAssetIDs, err := uploadMediaList(ctx, "个参考视频", opts.VideoPaths, runner)
53
53
  if err != nil {
54
- return nil, fmt.Errorf("上传视频失败: %w", err)
54
+ return nil, err
55
55
  }
56
- audioAssetIDs, err := uploadMediaList(ctx, opts.AudioPaths, runner)
56
+ audioAssetIDs, err := uploadMediaList(ctx, "段参考音频", opts.AudioPaths, runner)
57
57
  if err != nil {
58
- return nil, fmt.Errorf("上传音频失败: %w", err)
58
+ return nil, err
59
59
  }
60
60
 
61
61
  body := buildSubmitRunBody(opts, imageAssetIDs, videoAssetIDs, audioAssetIDs)
@@ -99,16 +99,16 @@ func validateMediaExtensions(kind string, paths []string, allowed map[string]str
99
99
  return nil
100
100
  }
101
101
 
102
- func uploadMediaList(ctx context.Context, paths []string, runner *common.Runner) ([]string, error) {
102
+ func uploadMediaList(ctx context.Context, mediaLabel string, paths []string, runner *common.Runner) ([]string, error) {
103
103
  assetIDs := make([]string, 0, len(paths))
104
- for _, path := range paths {
104
+ for i, path := range paths {
105
105
  expanded, err := common.ExpandPath(path)
106
106
  if err != nil {
107
- return nil, err
107
+ return nil, fmt.Errorf("第%d%s %q 路径解析失败: %w", i+1, mediaLabel, filepath.Base(path), err)
108
108
  }
109
109
  result, err := common.UploadFile(ctx, common.UploadFileOptions{Path: expanded}, runner)
110
110
  if err != nil {
111
- return nil, err
111
+ return nil, fmt.Errorf("第%d%s %q 上传失败: %w", i+1, mediaLabel, filepath.Base(path), err)
112
112
  }
113
113
  assetIDs = append(assetIDs, result.AssetID)
114
114
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pippit-dev/cli",
3
- "version": "1.0.44",
3
+ "version": "1.0.45",
4
4
  "description": "Pippit CLI",
5
5
  "bin": {
6
6
  "pippit-tool-cli": "scripts/run.js"
@@ -58,6 +58,8 @@ metadata:
58
58
  - 用户明确要求生成或处理,即可在该范围内执行;仅咨询用法、费用或方案时不提交。范围、必填信息或消耗 credits 的授权不明确时,先确认,不重复索要已给出的授权。
59
59
  - 提问优先使用宿主实际提供且当前模式允许的工具:Codex 的 `request_user_input` 或 `request_user_input_async`,WorkBuddy 的 `ask_user_question`;不可用时用普通聊天。需要答案时等待答复。
60
60
  - 素材参数接收本地文件路径,CLI 内部上传。远程链接不能冒充本地路径;缺少可访问文件时先解决素材获取。单文件必须小于 500 MB(500000000 字节)。
61
+ - `generate-image` / `generate-video` 上传素材失败时,向用户说明 CLI 返回的素材类型、类型内序号、文件名、原始原因和可用的 LogID,并说明尚未提交生成任务。序号按同类型参数的传入顺序从 1 开始,不是所有附件的混合序号;只有服务端明确返回审核拒绝时才说明审核未通过,不能把网络、权限等失败都归为审核问题。
62
+ - 上传遇到首个失败即停止,后续素材尚未上传,不能宣称它们审核通过。根据失败原因等待用户替换对应素材或解决问题,不自动删减素材、逐个重传排查或重新提交生成。旧 CLI 未返回文件定位时如实说明无法确定具体素材,不凭图片内容猜测。
61
63
  - 提交成功后立即展示真实 `web_thread_link`;未返回链接时如实说明,保留任务 ID。后续查询和下载失败不能触发重复生成。
62
64
  - 每个最终图片/视频都通过宿主文件交付或媒体渲染能力展示为真实附件或可预览媒体。URL、路径列表仅作补充;详细完成标准见共用交付流程。
63
65