@xrift/cli 0.3.0 → 0.5.0

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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=create.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.test.d.ts","sourceRoot":"","sources":["../../../src/commands/__tests__/create.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,105 @@
1
+ import { describe, it, expect } from '@jest/globals';
2
+ import { isValidProjectName, needsInteraction, } from '../../lib/create-helpers.js';
3
+ describe('create command', () => {
4
+ describe('isValidProjectName', () => {
5
+ it('有効なプロジェクト名の場合は true を返す', () => {
6
+ expect(isValidProjectName('my-world')).toBe(true);
7
+ expect(isValidProjectName('test-project-123')).toBe(true);
8
+ expect(isValidProjectName('simple')).toBe(true);
9
+ expect(isValidProjectName('a-b-c-d-e-f')).toBe(true);
10
+ expect(isValidProjectName('world-2024')).toBe(true);
11
+ });
12
+ it('大文字が含まれる場合は false を返す', () => {
13
+ expect(isValidProjectName('MyWorld')).toBe(false);
14
+ expect(isValidProjectName('Test')).toBe(false);
15
+ });
16
+ it('アンダースコアが含まれる場合は false を返す', () => {
17
+ expect(isValidProjectName('my_world')).toBe(false);
18
+ expect(isValidProjectName('test_project')).toBe(false);
19
+ });
20
+ it('スペースが含まれる場合は false を返す', () => {
21
+ expect(isValidProjectName('my world')).toBe(false);
22
+ expect(isValidProjectName('test project')).toBe(false);
23
+ });
24
+ it('特殊文字が含まれる場合は false を返す', () => {
25
+ expect(isValidProjectName('my@world')).toBe(false);
26
+ expect(isValidProjectName('test!project')).toBe(false);
27
+ expect(isValidProjectName('world.project')).toBe(false);
28
+ });
29
+ it('空文字の場合は false を返す', () => {
30
+ expect(isValidProjectName('')).toBe(false);
31
+ });
32
+ it('ハイフンのみの場合は true を返す', () => {
33
+ expect(isValidProjectName('-')).toBe(true);
34
+ expect(isValidProjectName('---')).toBe(true);
35
+ });
36
+ });
37
+ describe('needsInteraction', () => {
38
+ it('全てのオプションが指定されている場合は false を返す', () => {
39
+ const options = {
40
+ here: true,
41
+ skipInstall: true,
42
+ template: 'custom/repo',
43
+ interactive: undefined,
44
+ };
45
+ expect(needsInteraction('my-project', options)).toBe(false);
46
+ });
47
+ it('プロジェクト名が未指定の場合は true を返す', () => {
48
+ const options = {
49
+ here: true,
50
+ skipInstall: true,
51
+ interactive: undefined,
52
+ };
53
+ expect(needsInteraction(undefined, options)).toBe(true);
54
+ });
55
+ it('here オプションが未指定の場合は true を返す', () => {
56
+ const options = {
57
+ skipInstall: true,
58
+ interactive: undefined,
59
+ };
60
+ expect(needsInteraction('my-project', options)).toBe(true);
61
+ });
62
+ it('skipInstall オプションが未指定の場合は true を返す', () => {
63
+ const options = {
64
+ here: true,
65
+ interactive: undefined,
66
+ };
67
+ expect(needsInteraction('my-project', options)).toBe(true);
68
+ });
69
+ it('interactive が false の場合は false を返す', () => {
70
+ const options = {
71
+ interactive: false,
72
+ };
73
+ expect(needsInteraction(undefined, options)).toBe(false);
74
+ });
75
+ it('複数のオプションが未指定の場合は true を返す', () => {
76
+ const options = {
77
+ interactive: undefined,
78
+ };
79
+ expect(needsInteraction(undefined, options)).toBe(true);
80
+ });
81
+ it('プロジェクト名とhereが指定され、skipInstallが未指定の場合は true を返す', () => {
82
+ const options = {
83
+ here: true,
84
+ interactive: undefined,
85
+ };
86
+ expect(needsInteraction('my-project', options)).toBe(true);
87
+ });
88
+ it('--no-interactive フラグがある場合、他のオプションに関わらず false を返す', () => {
89
+ const options = {
90
+ interactive: false,
91
+ };
92
+ expect(needsInteraction(undefined, options)).toBe(false);
93
+ });
94
+ it('全てのオプションが空でもinteractiveがfalseならfalseを返す', () => {
95
+ const options = {
96
+ here: undefined,
97
+ skipInstall: undefined,
98
+ template: undefined,
99
+ interactive: false,
100
+ };
101
+ expect(needsInteraction('my-project', options)).toBe(false);
102
+ });
103
+ });
104
+ });
105
+ //# sourceMappingURL=create.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/create.test.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,8 @@ export declare const AUTH_CONFIG_FILE: string;
13
13
  export declare const PROJECT_CONFIG_FILE = "xrift.json";
14
14
  export declare const PROJECT_META_DIR = ".xrift";
15
15
  export declare const WORLD_META_FILE = "world.json";
16
- export declare const WORLD_CREATE_PATH = "/api/worlds";
17
- export declare const WORLD_UPDATE_PATH = "/api/worlds";
18
- export declare const WORLD_UPLOAD_URL_PATH = "/api/worlds";
16
+ export declare const WORLD_CREATE_PATH = "/api/public/v1/worlds";
17
+ export declare const WORLD_UPDATE_PATH = "/api/public/v1/worlds";
18
+ export declare const WORLD_UPLOAD_URL_PATH = "/api/public/v1/worlds";
19
+ export declare const WORLD_COMPLETE_PATH = "/api/public/v1/worlds";
19
20
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAGA;;GAEG;AAGH,eAAO,MAAM,YAAY,QAAuD,CAAC;AAGjF,eAAO,MAAM,YAAY,QAA4D,CAAC;AAGtF,eAAO,MAAM,eAAe,eAAe,CAAC;AAC5C,eAAO,MAAM,gBAAgB,+BAA+B,CAAC;AAC7D,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAC9D,eAAO,MAAM,aAAa,OAAO,CAAC;AAClC,eAAO,MAAM,aAAa,cAAc,CAAC;AAGzC,eAAO,MAAM,UAAU,QAAoC,CAAC;AAC5D,eAAO,MAAM,gBAAgB,QAAuC,CAAC;AACrE,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAChD,eAAO,MAAM,gBAAgB,WAAW,CAAC;AACzC,eAAO,MAAM,eAAe,eAAe,CAAC;AAG5C,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAC/C,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAC/C,eAAO,MAAM,qBAAqB,gBAAgB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAGA;;GAEG;AAGH,eAAO,MAAM,YAAY,QAAuD,CAAC;AAGjF,eAAO,MAAM,YAAY,QAA4D,CAAC;AAGtF,eAAO,MAAM,eAAe,eAAe,CAAC;AAC5C,eAAO,MAAM,gBAAgB,+BAA+B,CAAC;AAC7D,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAC9D,eAAO,MAAM,aAAa,OAAO,CAAC;AAClC,eAAO,MAAM,aAAa,cAAc,CAAC;AAGzC,eAAO,MAAM,UAAU,QAAoC,CAAC;AAC5D,eAAO,MAAM,gBAAgB,QAAuC,CAAC;AACrE,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAChD,eAAO,MAAM,gBAAgB,WAAW,CAAC;AACzC,eAAO,MAAM,eAAe,eAAe,CAAC;AAG5C,eAAO,MAAM,iBAAiB,0BAA0B,CAAC;AACzD,eAAO,MAAM,iBAAiB,0BAA0B,CAAC;AACzD,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAC7D,eAAO,MAAM,mBAAmB,0BAA0B,CAAC"}
@@ -20,7 +20,8 @@ export const PROJECT_CONFIG_FILE = 'xrift.json';
20
20
  export const PROJECT_META_DIR = '.xrift';
21
21
  export const WORLD_META_FILE = 'world.json';
22
22
  // World API endpoints
23
- export const WORLD_CREATE_PATH = '/api/worlds';
24
- export const WORLD_UPDATE_PATH = '/api/worlds';
25
- export const WORLD_UPLOAD_URL_PATH = '/api/worlds';
23
+ export const WORLD_CREATE_PATH = '/api/public/v1/worlds';
24
+ export const WORLD_UPDATE_PATH = '/api/public/v1/worlds';
25
+ export const WORLD_UPLOAD_URL_PATH = '/api/public/v1/worlds';
26
+ export const WORLD_COMPLETE_PATH = '/api/public/v1/worlds'; // :id/complete をつけて使用
26
27
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB;;GAEG;AAEH,eAAe;AACf,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,uBAAuB,CAAC;AAEjF,4CAA4C;AAC5C,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,uBAAuB,CAAC;AAEtF,iBAAiB;AACjB,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC;AAC5C,MAAM,CAAC,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;AAC7D,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAqB,CAAC,CAAC,+BAA+B;AAC9F,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAClC,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;AAEzC,oBAAoB;AACpB,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACrE,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AACzC,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC;AAE5C,sBAAsB;AACtB,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC;AAC/C,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB;;GAEG;AAEH,eAAe;AACf,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,uBAAuB,CAAC;AAEjF,4CAA4C;AAC5C,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,uBAAuB,CAAC;AAEtF,iBAAiB;AACjB,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC;AAC5C,MAAM,CAAC,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;AAC7D,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAqB,CAAC,CAAC,+BAA+B;AAC9F,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAClC,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;AAEzC,oBAAoB;AACpB,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACrE,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AACzC,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC;AAE5C,sBAAsB;AACtB,MAAM,CAAC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AACzD,MAAM,CAAC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AACzD,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,CAAC,sBAAsB"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * create コマンドのヘルパー関数
3
+ * テスト可能にするため、依存関係のない純粋な関数として分離
4
+ */
5
+ export interface CreateOptions {
6
+ template?: string;
7
+ skipInstall?: boolean;
8
+ here?: boolean;
9
+ interactive?: boolean;
10
+ y?: boolean;
11
+ }
12
+ /**
13
+ * プロジェクト名が有効かバリデーション
14
+ */
15
+ export declare function isValidProjectName(name: string): boolean;
16
+ /**
17
+ * 対話式モードが必要か判定
18
+ */
19
+ export declare function needsInteraction(projectName: string | undefined, options: CreateOptions): boolean;
20
+ //# sourceMappingURL=create-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/create-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,CAAC,CAAC,EAAE,OAAO,CAAC;CACb;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE,aAAa,GACrB,OAAO,CAOT"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * create コマンドのヘルパー関数
3
+ * テスト可能にするため、依存関係のない純粋な関数として分離
4
+ */
5
+ /**
6
+ * プロジェクト名が有効かバリデーション
7
+ */
8
+ export function isValidProjectName(name) {
9
+ return /^[a-z0-9-]+$/.test(name);
10
+ }
11
+ /**
12
+ * 対話式モードが必要か判定
13
+ */
14
+ export function needsInteraction(projectName, options) {
15
+ return (options.interactive !== false &&
16
+ (!projectName ||
17
+ options.here === undefined ||
18
+ options.skipInstall === undefined));
19
+ }
20
+ //# sourceMappingURL=create-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-helpers.js","sourceRoot":"","sources":["../../src/lib/create-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,WAA+B,EAC/B,OAAsB;IAEtB,OAAO,CACL,OAAO,CAAC,WAAW,KAAK,KAAK;QAC7B,CAAC,CAAC,WAAW;YACX,OAAO,CAAC,IAAI,KAAK,SAAS;YAC1B,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CACrC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../src/lib/upload.ts"],"names":[],"mappings":"AAiBA;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6J5E"}
1
+ {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../src/lib/upload.ts"],"names":[],"mappings":"AAkBA;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4L5E"}
@@ -1,12 +1,13 @@
1
1
  import path from 'node:path';
2
2
  import fs from 'node:fs/promises';
3
+ import crypto from 'node:crypto';
3
4
  import chalk from 'chalk';
4
5
  import ora from 'ora';
5
6
  import cliProgress from 'cli-progress';
6
7
  import axios from 'axios';
7
8
  import { loadProjectConfig, loadWorldMetadata, saveWorldMetadata, validateDistDir, scanDirectory, } from './project-config.js';
8
9
  import { getAuthenticatedClient } from './api.js';
9
- import { WORLD_CREATE_PATH, WORLD_UPDATE_PATH } from './constants.js';
10
+ import { WORLD_CREATE_PATH, WORLD_UPDATE_PATH, WORLD_COMPLETE_PATH } from './constants.js';
10
11
  /**
11
12
  * ワールドをアップロード
12
13
  */
@@ -67,24 +68,38 @@ export async function uploadWorld(cwd = process.cwd()) {
67
68
  throw error;
68
69
  }
69
70
  }
70
- // 7. 署名付きURLを取得
71
+ // 7. contentHashとfileSizeを計算
72
+ spinner = ora('ファイルのハッシュを計算中...').start();
73
+ const contentHash = await calculateContentHash(uploadFiles);
74
+ const fileSize = calculateTotalSize(uploadFiles);
75
+ spinner.succeed(chalk.green(`ハッシュ計算完了 (contentHash: ${contentHash}, fileSize: ${fileSize} bytes)`));
76
+ // 8. 署名付きURLを取得
71
77
  spinner = ora('アップロード用URLを取得中...').start();
72
78
  let signedUrls;
73
79
  try {
74
80
  const response = await client.post(`${WORLD_UPDATE_PATH}/${worldId}/upload-urls`, {
81
+ contentHash,
82
+ fileSize,
75
83
  files: uploadFiles.map((f) => ({
76
84
  path: f.remotePath,
77
- size: f.size,
85
+ contentType: getMimeType(f.localPath),
78
86
  })),
79
87
  });
80
- signedUrls = response.data;
88
+ signedUrls = response.data.urls;
81
89
  spinner.succeed(chalk.green(`${signedUrls.length}個のアップロードURLを取得しました`));
90
+ // デバッグ: 最初のURLを表示
91
+ if (signedUrls.length > 0) {
92
+ console.log(chalk.gray(`デバッグ: 最初のURL構造: ${JSON.stringify(signedUrls[0], null, 2)}`));
93
+ }
82
94
  }
83
95
  catch (error) {
84
96
  spinner.fail(chalk.red('アップロードURLの取得に失敗しました'));
97
+ if (axios.isAxiosError(error) && error.response) {
98
+ console.error(chalk.red(`バックエンドエラー: ${JSON.stringify(error.response.data)}`));
99
+ }
85
100
  throw error;
86
101
  }
87
- // 8. ファイルをアップロード
102
+ // 9. ファイルをアップロード
88
103
  console.log(chalk.blue('\n📤 ファイルをアップロード中...\n'));
89
104
  const progressBar = new cliProgress.SingleBar({
90
105
  format: `${chalk.cyan('{bar}')} | {percentage}% | {value}/{total} ファイル | {filename}`,
@@ -99,7 +114,7 @@ export async function uploadWorld(cwd = process.cwd()) {
99
114
  progressBar.update(i, { filename: fileInfo.remotePath });
100
115
  try {
101
116
  const fileBuffer = await fs.readFile(fileInfo.localPath);
102
- await axios.put(signedUrl.url, fileBuffer, {
117
+ await axios.put(signedUrl.uploadUrl, fileBuffer, {
103
118
  headers: {
104
119
  'Content-Type': getMimeType(fileInfo.localPath),
105
120
  'Content-Length': fileInfo.size,
@@ -116,7 +131,20 @@ export async function uploadWorld(cwd = process.cwd()) {
116
131
  }
117
132
  progressBar.update(uploadFiles.length, { filename: '完了' });
118
133
  progressBar.stop();
119
- // 9. メタデータを保存
134
+ // 10. アップロード完了通知
135
+ spinner = ora('アップロード完了を通知中...').start();
136
+ try {
137
+ await client.post(`${WORLD_COMPLETE_PATH}/${worldId}/complete`);
138
+ spinner.succeed(chalk.green('アップロード完了を通知しました'));
139
+ }
140
+ catch (error) {
141
+ spinner.fail(chalk.red('アップロード完了通知に失敗しました'));
142
+ if (axios.isAxiosError(error) && error.response) {
143
+ console.error(chalk.red(`バックエンドエラー: ${JSON.stringify(error.response.data)}`));
144
+ }
145
+ throw error;
146
+ }
147
+ // 11. メタデータを保存
120
148
  await saveWorldMetadata({
121
149
  id: worldId,
122
150
  createdAt: existingMetadata?.createdAt || new Date().toISOString(),
@@ -135,6 +163,26 @@ export async function uploadWorld(cwd = process.cwd()) {
135
163
  throw error;
136
164
  }
137
165
  }
166
+ /**
167
+ * 全ファイルを結合してSHA-256ハッシュを計算(先頭12文字)
168
+ */
169
+ async function calculateContentHash(uploadFiles) {
170
+ const hash = crypto.createHash('sha256');
171
+ // ファイルをパスでソートして順序を確定
172
+ const sortedFiles = [...uploadFiles].sort((a, b) => a.remotePath.localeCompare(b.remotePath));
173
+ for (const fileInfo of sortedFiles) {
174
+ const fileBuffer = await fs.readFile(fileInfo.localPath);
175
+ hash.update(fileBuffer);
176
+ }
177
+ const fullHash = hash.digest('hex');
178
+ return fullHash.substring(0, 12); // 先頭12文字
179
+ }
180
+ /**
181
+ * 全ファイルのサイズ合計を計算
182
+ */
183
+ function calculateTotalSize(uploadFiles) {
184
+ return uploadFiles.reduce((total, file) => total + file.size, 0);
185
+ }
138
186
  /**
139
187
  * ファイルのMIMEタイプを取得
140
188
  */
@@ -1 +1 @@
1
- {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/lib/upload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/lib/upload.ts"],"names":[],"mappings":"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"}
@@ -21,8 +21,10 @@ export interface UploadFileInfo {
21
21
  size: number;
22
22
  }
23
23
  export interface SignedUrlResponse {
24
- url: string;
25
- key: string;
24
+ path: string;
25
+ uploadUrl: string;
26
+ publicUrl: string;
27
+ expiresAt: string;
26
28
  }
27
29
  export interface CreateWorldResponse {
28
30
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xrift/cli",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "XRift CLI tool for world and avatar uploads",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",