@crabcloud/cli 0.2.1 → 0.2.3
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/dist/crab.js
CHANGED
|
@@ -18,7 +18,7 @@ var __export = (target, all) => {
|
|
|
18
18
|
import { hostname, homedir as homedir2 } from "node:os";
|
|
19
19
|
import { createInterface } from "node:readline";
|
|
20
20
|
import { Writable } from "node:stream";
|
|
21
|
-
import { mkdirSync as mkdirSync2, readFileSync as readFileSync2, rmSync as rmSync2, writeFileSync as writeFileSync2 } from "node:fs";
|
|
21
|
+
import { mkdirSync as mkdirSync2, readFileSync as readFileSync2, rmSync as rmSync2, writeFileSync as writeFileSync2, existsSync as existsSync2 } from "node:fs";
|
|
22
22
|
import { basename, join as join2 } from "node:path";
|
|
23
23
|
|
|
24
24
|
// ../../node_modules/.bun/zod@4.6.5/node_modules/zod/v4/core/util.js
|
|
@@ -6194,6 +6194,9 @@ var collabAllocationInput = object({
|
|
|
6194
6194
|
});
|
|
6195
6195
|
var collabBoostInput = object({ kind: _enum(collabBoostKinds) });
|
|
6196
6196
|
var collabInviteInput = object({ username: usernameSchema });
|
|
6197
|
+
var collabInviteAcceptInput = object({
|
|
6198
|
+
token: string2().trim().min(1).max(64).transform((v) => v.toUpperCase())
|
|
6199
|
+
});
|
|
6197
6200
|
var collabLinkInput = string2().trim().url().max(2000).regex(/^https?:\/\//i);
|
|
6198
6201
|
var collabCreateTaskInput = object({
|
|
6199
6202
|
title: string2().trim().min(1).max(COLLAB_TITLE_MAX),
|
|
@@ -7700,7 +7703,7 @@ async function storageUploadOne(credentials, filePath) {
|
|
|
7700
7703
|
headers: authHeaders(credentials),
|
|
7701
7704
|
body: JSON.stringify({ filename, mimeType, sizeBytes: cipher.byteLength, enc: true })
|
|
7702
7705
|
});
|
|
7703
|
-
if (presign.status === 200) {
|
|
7706
|
+
if (presign.status === 200 || presign.status === 201) {
|
|
7704
7707
|
const { fileId, uploadUrl } = presign.body.data;
|
|
7705
7708
|
const put = await fetch(uploadUrl, { method: "PUT", body: cipher, headers: { "content-type": mimeType } });
|
|
7706
7709
|
if (!put.ok) {
|
|
@@ -8709,7 +8712,14 @@ async function init() {
|
|
|
8709
8712
|
return loginCode;
|
|
8710
8713
|
}
|
|
8711
8714
|
console.log("");
|
|
8712
|
-
|
|
8715
|
+
const code = installSkills(args.slice(1));
|
|
8716
|
+
const crabOnPath = (process.env.PATH ?? "").split(":").some((dir) => dir !== "" && !dir.includes("_npx") && existsSync2(join2(dir, "crab")));
|
|
8717
|
+
if (!crabOnPath) {
|
|
8718
|
+
console.log("");
|
|
8719
|
+
console.log("提示:`crab` 命令尚未全局安装——npm i -g @crabcloud/cli 可装到 PATH;");
|
|
8720
|
+
console.log(" 或所有命令直接 npx @crabcloud/cli <命令> 等价执行。");
|
|
8721
|
+
}
|
|
8722
|
+
return code;
|
|
8713
8723
|
}
|
|
8714
8724
|
async function logout() {
|
|
8715
8725
|
const credentials = loadCredentials();
|
|
@@ -15,9 +15,10 @@ Crab Cloud 是用户的个人云底座:账号、订阅与积分是平台层,
|
|
|
15
15
|
|
|
16
16
|
## 第一步:确认 CLI 可用
|
|
17
17
|
|
|
18
|
-
- 运行 `crab --version`
|
|
19
|
-
`
|
|
20
|
-
|
|
18
|
+
- 运行 `crab --version` 确认已安装。注意 `crab init` 只做登录 + 安装 skill,
|
|
19
|
+
**不含命令本体**——本机没有 `crab` 命令时让用户 `npm i -g @crabcloud/cli@latest`
|
|
20
|
+
安装(已装旧版同款命令升级);不想装全局则整段跳过,下文所有 `crab <命令>`
|
|
21
|
+
直接 `npx @crabcloud/cli <命令>` 等价执行(init 同样可 `npx @crabcloud/cli init`)。
|
|
21
22
|
- `crab whoami` 报「未登录」或退出码 3 → 引导用户 `crab login`。登录走浏览器
|
|
22
23
|
设备授权——授权页摆出全目录供用户勾选,**实际授予集由人定**,可能多于或少于
|
|
23
24
|
`--scopes` 请求——**你只发起,不代批**;登录后先 `crab whoami` 核对实际
|
|
@@ -13,9 +13,10 @@ skill 覆盖协作域的 agent 通道;账号/令牌管理见 `crabcloud` skill
|
|
|
13
13
|
|
|
14
14
|
## 第一步:确认可用
|
|
15
15
|
|
|
16
|
-
- 运行 `crab --version`
|
|
17
|
-
`
|
|
18
|
-
|
|
16
|
+
- 运行 `crab --version` 确认已安装。注意 `crab init` 只做登录 + 安装 skill,
|
|
17
|
+
**不含命令本体**——本机没有 `crab` 命令时让用户 `npm i -g @crabcloud/cli@latest`
|
|
18
|
+
安装(已装旧版同款命令升级);不想装全局则整段跳过,下文所有 `crab <命令>`
|
|
19
|
+
直接 `npx @crabcloud/cli <命令>` 等价执行(init 同样可 `npx @crabcloud/cli init`)。
|
|
19
20
|
- CLI 基于 npx 分发,**本机没有 `crab` 命令时,下文所有 `crab <命令>` 都可以
|
|
20
21
|
`npx @crabcloud/cli <命令>` 等价执行**(例如 `npx @crabcloud/cli collab tasks`)。
|
|
21
22
|
- 未登录(退出码 3)引导用户 `crab login`。
|
|
@@ -12,9 +12,10 @@ description: Read, search and send the user's Crab Cloud platform email (usernam
|
|
|
12
12
|
|
|
13
13
|
## 第一步:确认可用
|
|
14
14
|
|
|
15
|
-
- 运行 `crab --version`
|
|
16
|
-
`
|
|
17
|
-
|
|
15
|
+
- 运行 `crab --version` 确认已安装。注意 `crab init` 只做登录 + 安装 skill,
|
|
16
|
+
**不含命令本体**——本机没有 `crab` 命令时让用户 `npm i -g @crabcloud/cli@latest`
|
|
17
|
+
安装(已装旧版同款命令升级);不想装全局则整段跳过,下文所有 `crab <命令>`
|
|
18
|
+
直接 `npx @crabcloud/cli <命令>` 等价执行(init 同样可 `npx @crabcloud/cli init`)。
|
|
18
19
|
- CLI 基于 npx 分发,**本机没有 `crab` 命令时,下文所有 `crab <命令>` 都可以
|
|
19
20
|
`npx @crabcloud/cli <命令>` 等价执行**(例如 `npx @crabcloud/cli mail list`)。
|
|
20
21
|
- 未登录(退出码 3)引导用户 `crab login`。
|
|
@@ -13,9 +13,10 @@ skill。
|
|
|
13
13
|
|
|
14
14
|
## 第一步:确认可用
|
|
15
15
|
|
|
16
|
-
- 运行 `crab --version`
|
|
17
|
-
`
|
|
18
|
-
|
|
16
|
+
- 运行 `crab --version` 确认已安装。注意 `crab init` 只做登录 + 安装 skill,
|
|
17
|
+
**不含命令本体**——本机没有 `crab` 命令时让用户 `npm i -g @crabcloud/cli@latest`
|
|
18
|
+
安装(已装旧版同款命令升级);不想装全局则整段跳过,下文所有 `crab <命令>`
|
|
19
|
+
直接 `npx @crabcloud/cli <命令>` 等价执行(init 同样可 `npx @crabcloud/cli init`)。
|
|
19
20
|
- CLI 基于 npx 分发,**本机没有 `crab` 命令时,下文所有 `crab <命令>` 都可以
|
|
20
21
|
`npx @crabcloud/cli <命令>` 等价执行**(例如 `npx @crabcloud/cli storage ls`)。
|
|
21
22
|
- 未登录(退出码 3)引导用户 `crab login`。
|
package/package.json
CHANGED