costaff-workspace 0.1.4 → 0.1.6

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.md CHANGED
@@ -93,9 +93,23 @@ Names, folders, and who may read each file are managed at
93
93
  | --- | --- |
94
94
  | `costaff-workspace push` | publish this folder |
95
95
  | `costaff-workspace pull <token> [dir]` | fetch a published file's source |
96
+ | `costaff-workspace theme push\|list\|pull\|rm` | keep the project's `themes/` folder in the workspace |
97
+ | `costaff-workspace whoami` | what this machine is signed in as |
98
+ | `costaff-workspace skills` | install the agent skill into this project |
96
99
  | `costaff-workspace login` | sign this machine in |
97
100
  | `costaff-workspace logout` | forget this machine's sign-in |
98
101
 
102
+ `--json` on any of them prints one line of JSON instead of prose — the same
103
+ shape for success and failure, and a command that would need an interactive
104
+ sign-in stops rather than waiting for a browser.
105
+
106
+ A theme is a house style — `themes/<id>.md` and an optional
107
+ `themes/<id>.demo.tsx`. It belongs to the account rather than to one file, so
108
+ the next document can start from the last one's look. The framework comes from
109
+ `package.json`; `--kind document|deck|workbook` overrides it, and `--no-demo`
110
+ sends the specs without building each demo.
111
+ `costaff-workspace theme --help` lists the rest.
112
+
99
113
  ## Options
100
114
 
101
115
  A normal project needs none of these. Pass one when a guess is wrong.
package/README.zh-TW.md CHANGED
@@ -86,9 +86,20 @@ q3-numbers → https://workspace.costaffs.app/8fjq2ldk3nx7yrpv
86
86
  | --- | --- |
87
87
  | `costaff-workspace push` | 發佈這個資料夾 |
88
88
  | `costaff-workspace pull <token> [dir]` | 取回某份已發佈檔案的原始碼 |
89
+ | `costaff-workspace theme push\|list\|pull\|rm` | 把專案的 `themes/` 資料夾留在工作區 |
90
+ | `costaff-workspace whoami` | 這台機器登入的是誰 |
91
+ | `costaff-workspace skills` | 把 agent skill 裝進這個專案 |
89
92
  | `costaff-workspace login` | 讓這台機器登入 |
90
93
  | `costaff-workspace logout` | 忘掉這台機器的登入 |
91
94
 
95
+ 任何一個加上 `--json` 就會印一行 JSON 而不是散文——成功和失敗同一種形狀;需要
96
+ 互動登入的指令會直接停下來,而不是等瀏覽器。
97
+
98
+ 主題就是一套版面風格——`themes/<id>.md` 加上可選的 `themes/<id>.demo.tsx`。它屬於帳號
99
+ 而不屬於某一份檔案,所以下一份文件可以從上一份的樣子開始。框架從 `package.json` 判斷,
100
+ `--kind document|deck|workbook` 可以指定,`--no-demo` 則只送規格、不建置示範。
101
+ 其餘看 `costaff-workspace theme --help`。
102
+
92
103
  ## 參數
93
104
 
94
105
  一般的專案一個都不需要。推斷錯了才補上那一個。
package/dist/cli-pull.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { PublishError, discover } from "./client.js";
2
2
  import { DEFAULT_ENDPOINT } from "./defaults.js";
3
3
  import { pull } from "./pull.js";
4
+ import { done, jsonMode, line } from "./report.js";
4
5
  import { login } from "./push.js";
5
6
  const USAGE = `costaff-workspace pull — fetch a published file's source back out
6
7
 
@@ -44,17 +45,24 @@ export async function runPull(argv) {
44
45
  const token = positional[0];
45
46
  if (token === undefined)
46
47
  throw new PublishError('missing <token>');
47
- const out = (line) => {
48
- process.stdout.write(line);
48
+ const out = (text) => {
49
+ line(text);
49
50
  };
50
- await pull({
51
+ const result = await pull({
51
52
  endpoint,
52
53
  token,
53
54
  dir: positional[1],
54
55
  force: flags.force === true,
55
56
  bearer: str('bearer'),
56
57
  out,
57
- signIn: async () => login({ endpoint, out }, (await discover(endpoint)).name),
58
+ signIn: async () => {
59
+ /* 同 push:`--json` 的讀者按不了瀏覽器裡的核准,卡住比報錯更難查。 */
60
+ if (jsonMode()) {
61
+ throw new PublishError('not signed in — run `costaff-workspace login` once, or set COSTAFF_WORKSPACE_TOKEN');
62
+ }
63
+ return login({ endpoint, out }, (await discover(endpoint)).name);
64
+ },
58
65
  });
66
+ done({ command: 'pull', endpoint, token, ...result });
59
67
  }
60
68
  //# sourceMappingURL=cli-pull.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-pull.js","sourceRoot":"","sources":["../src/cli-pull.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAElC,MAAM,KAAK,GAAG;;;;2CAI6B,gBAAgB;;;;;;;;CAQ1D,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAc;IAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAqC,EAAE,CAAC;IACnD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC3B,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAsB,EAAE,CAC5C,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAK,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAElE,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,gBAAgB,CAAC;IAC/F,IAAI,QAAQ,KAAK,EAAE;QAAE,MAAM,IAAI,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAEnE,MAAM,GAAG,GAAG,CAAC,IAAY,EAAQ,EAAE;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC;IACF,MAAM,IAAI,CAAC;QACT,QAAQ;QACR,KAAK;QACL,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI;QAC3B,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC;QACrB,GAAG;QACH,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;KAC9E,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"cli-pull.js","sourceRoot":"","sources":["../src/cli-pull.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * 把 skill 裝進使用者的專案。
3
+ *
4
+ * skill 隨套件一起發,所以裝了 CLI 就有了 —— 但 agent 讀的是專案裡的
5
+ * `.claude/skills/`,不是 node_modules。這個指令做的就是那一段複製,並且說得出
6
+ * 哪幾份變了。
7
+ *
8
+ * 覆蓋而不是合併:這些檔案是這個套件的產物,不是使用者的稿子。想改的人應該改自己
9
+ * 的那一份、換個名字,而不是編輯一個下次升級就會被蓋掉的檔案。
10
+ */
11
+ import { existsSync } from 'node:fs';
12
+ import fs from 'node:fs/promises';
13
+ import path from 'node:path';
14
+ import { fileURLToPath } from 'node:url';
15
+ import { done, line } from "./report.js";
16
+ const USAGE = `costaff-workspace skills — install the agent skill into this project
17
+
18
+ costaff-workspace skills [--dry-run] [--json]
19
+
20
+ Writes into .claude/skills/ and .agents/skills/, overwriting what is there.
21
+ `;
22
+ /* 兩個都寫:Claude Code 讀前者,其他工具讀後者,而同一份東西不該要人選邊。 */
23
+ const TARGETS = ['.claude/skills', '.agents/skills'];
24
+ /**
25
+ * 套件裡 skills/ 的位置。
26
+ *
27
+ * 從這個模組往上找,而不是從 cwd —— 執行時 cwd 是使用者的專案。編譯後這個檔案在
28
+ * `dist/`,所以答案是它的上一層。
29
+ */
30
+ export function builtinSkillsDir(from = fileURLToPath(import.meta.url)) {
31
+ return path.resolve(path.dirname(from), '..', 'skills');
32
+ }
33
+ async function tree(dir) {
34
+ const out = new Map();
35
+ const walk = async (at) => {
36
+ for (const entry of await fs.readdir(at, { withFileTypes: true })) {
37
+ const abs = path.join(at, entry.name);
38
+ if (entry.isDirectory())
39
+ await walk(abs);
40
+ else
41
+ out.set(path.relative(dir, abs), await fs.readFile(abs, 'utf8'));
42
+ }
43
+ };
44
+ await walk(dir);
45
+ return out;
46
+ }
47
+ async function same(src, dst) {
48
+ if (!existsSync(dst))
49
+ return false;
50
+ const [a, b] = await Promise.all([tree(src), tree(dst)]);
51
+ if (a.size !== b.size)
52
+ return false;
53
+ for (const [file, text] of a)
54
+ if (b.get(file) !== text)
55
+ return false;
56
+ return true;
57
+ }
58
+ export async function skillChanges(builtin, cwd) {
59
+ if (!existsSync(builtin))
60
+ return [];
61
+ const names = (await fs.readdir(builtin, { withFileTypes: true }))
62
+ .filter((e) => e.isDirectory())
63
+ .map((e) => e.name)
64
+ .sort();
65
+ const changes = [];
66
+ for (const name of names) {
67
+ /* 以第一個目標判斷。兩個目標寫的是同一份,分開比對只會report出兩次同一件事。 */
68
+ const dst = path.join(cwd, TARGETS[0] ?? '', name);
69
+ const status = !existsSync(dst)
70
+ ? 'added'
71
+ : (await same(path.join(builtin, name), dst))
72
+ ? 'unchanged'
73
+ : 'updated';
74
+ changes.push({ name, status });
75
+ }
76
+ return changes;
77
+ }
78
+ export async function installSkills(builtin, cwd, dryRun) {
79
+ const changes = await skillChanges(builtin, cwd);
80
+ if (dryRun)
81
+ return changes;
82
+ for (const { name, status } of changes) {
83
+ if (status === 'unchanged')
84
+ continue;
85
+ for (const target of TARGETS) {
86
+ const dst = path.join(cwd, target, name);
87
+ await fs.rm(dst, { recursive: true, force: true });
88
+ await fs.mkdir(path.dirname(dst), { recursive: true });
89
+ await fs.cp(path.join(builtin, name), dst, { recursive: true });
90
+ }
91
+ }
92
+ return changes;
93
+ }
94
+ export async function runSkills(argv) {
95
+ if (argv.includes('--help') || argv.includes('-h')) {
96
+ process.stdout.write(USAGE);
97
+ return;
98
+ }
99
+ const dryRun = argv.includes('--dry-run');
100
+ const builtin = builtinSkillsDir();
101
+ const cwd = process.cwd();
102
+ const changes = await installSkills(builtin, cwd, dryRun);
103
+ if (changes.length === 0) {
104
+ line('no skills in this package\n');
105
+ }
106
+ else {
107
+ for (const { name, status } of changes) {
108
+ line(` ${name.padEnd(20)} ${dryRun && status !== 'unchanged' ? `would be ${status}` : status}\n`);
109
+ }
110
+ if (!dryRun)
111
+ line(`\nwritten to ${TARGETS.join(' and ')}\n`);
112
+ }
113
+ done({ command: 'skills', dryRun, targets: TARGETS, skills: changes });
114
+ }
115
+ //# sourceMappingURL=cli-skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-skills.js","sourceRoot":"","sources":["../src/cli-skills.ts"],"names":[],"mappings":"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"}
package/dist/cli-theme.js CHANGED
@@ -15,6 +15,7 @@ import { unzipSync, zipSync } from 'fflate';
15
15
  import os from 'node:os';
16
16
  import { DEFAULT_ENDPOINT, kindFromManifest, readManifest } from "./defaults.js";
17
17
  import { SURFACES } from "./integration.js";
18
+ import { done, line } from "./report.js";
18
19
  import { ensureBearer } from "./push.js";
19
20
  import { buildThemeDemo } from "./stage.js";
20
21
  import { tokenFor } from "./state.js";
@@ -209,12 +210,14 @@ async function runList(opts, out) {
209
210
  const { themes } = (await res.json());
210
211
  if (themes.length === 0) {
211
212
  out(' no themes yet — run `costaff-workspace theme push` in a project that has some');
212
- return;
213
213
  }
214
- const width = Math.max(...themes.map((t) => t.id.length));
215
- for (const t of themes) {
216
- out(` ${t.id.padEnd(width)} ${t.kind.padEnd(9)}${t.name}${t.hasDemo ? '' : ' (no demo)'}`);
214
+ else {
215
+ const width = Math.max(...themes.map((t) => t.id.length));
216
+ for (const t of themes) {
217
+ out(` ${t.id.padEnd(width)} ${t.kind.padEnd(9)}${t.name}${t.hasDemo ? '' : ' (no demo)'}`);
218
+ }
217
219
  }
220
+ done({ command: 'theme list', endpoint: opts.endpoint, themes });
218
221
  }
219
222
  async function runPullTheme(opts, id, out) {
220
223
  const root = process.cwd();
@@ -243,8 +246,8 @@ export async function runTheme(argv) {
243
246
  process.stdout.write(USAGE);
244
247
  return;
245
248
  }
246
- const out = (line) => {
247
- process.stdout.write(`${line}\n`);
249
+ const out = (text) => {
250
+ line(`${text}\n`);
248
251
  };
249
252
  const { rest, opts } = parse(argv.slice(1));
250
253
  const action = argv[0];
@@ -1 +1 @@
1
- {"version":3,"file":"cli-theme.js","sourceRoot":"","sources":["../src/cli-theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-theme.js","sourceRoot":"","sources":["../src/cli-theme.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * 這台機器是誰。
3
+ *
4
+ * 一個 skill 在做任何事之前要先知道的是「需不需要請人去登入一次」—— 裝置碼那一步
5
+ * 必須有人在瀏覽器按核准,agent 做不到,所以它得問得出來、而且要便宜。原本唯一的
6
+ * 問法是推推看,或拿 `theme list` 當探針。
7
+ *
8
+ * 不連網。答的是「這裡有沒有一份還沒過期的憑證、從哪裡來的」—— 那正是決定要不要
9
+ * 找人的那件事。伺服器那邊是否仍然認得它,要到真的用的時候才知道,這一點說明白。
10
+ */
11
+ import { loadCredential } from "./credentials.js";
12
+ import { DEFAULT_ENDPOINT } from "./defaults.js";
13
+ import { done, line } from "./report.js";
14
+ const USAGE = `costaff-workspace whoami — what this machine is signed in as
15
+
16
+ costaff-workspace whoami [--endpoint <url>] [--json]
17
+
18
+ Reads what is stored here; it does not call the workspace. A token that was
19
+ revoked on the other side still shows up until something tries to use it.
20
+ `;
21
+ export async function whoami(endpoint, bearer, env = process.env,
22
+ /* 測試給自己的檔案。預設是真的那一份,所以呼叫端不必知道它在哪。 */
23
+ file) {
24
+ const base = { endpoint, account: null, expiresAt: null };
25
+ if (bearer !== undefined && bearer !== '') {
26
+ return { ...base, signedIn: true, source: 'flag' };
27
+ }
28
+ const fromEnv = env.COSTAFF_WORKSPACE_TOKEN?.trim();
29
+ if (fromEnv)
30
+ return { ...base, signedIn: true, source: 'env' };
31
+ const stored = await loadCredential(endpoint, file);
32
+ if (stored === null)
33
+ return { ...base, signedIn: false, source: 'none' };
34
+ return {
35
+ endpoint,
36
+ signedIn: true,
37
+ source: 'stored',
38
+ account: stored.account ?? null,
39
+ expiresAt: stored.expiresAt ?? null,
40
+ };
41
+ }
42
+ const WHERE = {
43
+ flag: 'from --bearer',
44
+ env: 'from COSTAFF_WORKSPACE_TOKEN',
45
+ stored: 'signed in on this machine',
46
+ none: '',
47
+ };
48
+ export async function runWhoami(argv) {
49
+ if (argv.includes('--help') || argv.includes('-h')) {
50
+ process.stdout.write(USAGE);
51
+ return;
52
+ }
53
+ const at = (name) => {
54
+ const i = argv.indexOf(`--${name}`);
55
+ return i === -1 ? undefined : argv[i + 1];
56
+ };
57
+ const endpoint = at('endpoint') ?? process.env.COSTAFF_WORKSPACE_ENDPOINT ?? DEFAULT_ENDPOINT;
58
+ const who = await whoami(endpoint, at('bearer'));
59
+ if (!who.signedIn) {
60
+ line(`not signed in to ${who.endpoint}\n run costaff-workspace login\n`);
61
+ }
62
+ else {
63
+ const as = who.account === null ? '' : ` as ${who.account}`;
64
+ line(`signed in to ${who.endpoint}${as}\n ${WHERE[who.source]}\n`);
65
+ }
66
+ done({ command: 'whoami', ...who });
67
+ }
68
+ //# sourceMappingURL=cli-whoami.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-whoami.js","sourceRoot":"","sources":["../src/cli-whoami.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { PublishError } from "./client.js";
2
+ import { done, line } from "./report.js";
2
3
  import { DEFAULT_ENDPOINT, kindFromManifest, readManifest, slugFromDir, titleFromManifest, } from "./defaults.js";
3
4
  import { pushProject, realBuildItem, scanProject } from "./project.js";
4
5
  import { push } from "./push.js";
@@ -84,7 +85,7 @@ function parse(argv) {
84
85
  login: flags.login === true,
85
86
  logout: flags.logout === true,
86
87
  dryRun: flags['dry-run'] === true,
87
- out: (line) => process.stdout.write(line),
88
+ out: line,
88
89
  };
89
90
  }
90
91
  /*
@@ -160,8 +161,8 @@ export async function runPush(argv) {
160
161
  by.set(kind, (by.get(kind) ?? 0) + 1);
161
162
  }
162
163
  const shape = [...by].map(([kind, n]) => `${n} ${kind}${n === 1 ? '' : 's'}`).join(', ');
163
- process.stdout.write(` ${shape} — one bundle each\n`);
164
- await pushProject({
164
+ line(` ${shape} — one bundle each\n`);
165
+ const pushed = await pushProject({
165
166
  root,
166
167
  endpoint: opts.endpoint,
167
168
  items,
@@ -169,9 +170,28 @@ export async function runPush(argv) {
169
170
  buildItem: realBuildItem,
170
171
  base: { bearer: opts.bearer, folder: opts.folder },
171
172
  });
173
+ done({ command: 'push', endpoint: opts.endpoint, dryRun: opts.dryRun === true, items: pushed });
172
174
  return;
173
175
  }
174
176
  await fill(opts);
175
- await push(opts);
177
+ const result = await push(opts);
178
+ if (result !== null) {
179
+ done({
180
+ command: 'push',
181
+ endpoint: opts.endpoint,
182
+ dryRun: opts.dryRun === true,
183
+ /* token 是網址的最後一段 —— pull 要的就是它,別讓讀的人自己去切。 */
184
+ items: [
185
+ {
186
+ slug: result.slug,
187
+ kind: opts.kind,
188
+ token: result.url.split('/').pop() ?? '',
189
+ url: result.url,
190
+ },
191
+ ],
192
+ updated: result.updated,
193
+ workspace: result.workspace,
194
+ });
195
+ }
176
196
  }
177
197
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/main.js CHANGED
@@ -7,9 +7,12 @@
7
7
  * 還有哪些兄弟指令存在。
8
8
  */
9
9
  import { runPull } from "./cli-pull.js";
10
+ import { runSkills } from "./cli-skills.js";
10
11
  import { runTheme } from "./cli-theme.js";
12
+ import { runWhoami } from "./cli-whoami.js";
11
13
  import { runPush } from "./cli.js";
12
14
  import { DEFAULT_ENDPOINT } from "./defaults.js";
15
+ import { fail, setJson } from "./report.js";
13
16
  const USAGE = `costaff-workspace — publish to and pull back from CoStaff Workspace
14
17
 
15
18
  costaff-workspace <command> [options]
@@ -17,16 +20,26 @@ const USAGE = `costaff-workspace — publish to and pull back from CoStaff Works
17
20
  push push this folder up (run it with nothing else)
18
21
  pull <token> fetch a published file's source back out
19
22
  theme push, list, pull and remove the themes/ folder
23
+ whoami what this machine is signed in as
24
+ skills install the agent skill into this project
20
25
  login sign this machine in
21
26
  logout forget this machine's sign-in
22
27
 
23
28
  costaff-workspace <command> --help for that command's options
29
+ --json one line of JSON instead of prose
24
30
 
25
31
  Endpoint defaults to ${DEFAULT_ENDPOINT}; --endpoint or
26
32
  COSTAFF_WORKSPACE_ENDPOINT points at a receiver you run yourself.
27
33
  `;
28
34
  async function main() {
29
- const [command, ...rest] = process.argv.slice(2);
35
+ /*
36
+ * 在分派之前就摘掉。每個子指令的解析器都把「--flag 後面接非 -- 的字」讀成一組
37
+ * 值,留著它 `--json push` 會被當成 --json=push;而且錯誤處理器也要先知道該用
38
+ * 哪一種格式,那比任何子指令都早。
39
+ */
40
+ const argv = process.argv.slice(2).filter((a) => a !== '--json');
41
+ setJson(argv.length !== process.argv.length - 2);
42
+ const [command, ...rest] = argv;
30
43
  switch (command) {
31
44
  case 'push':
32
45
  return runPush(rest);
@@ -35,6 +48,10 @@ async function main() {
35
48
  case 'theme':
36
49
  case 'themes':
37
50
  return runTheme(rest);
51
+ case 'whoami':
52
+ return runWhoami(rest);
53
+ case 'skills':
54
+ return runSkills(rest);
38
55
  /* login 和 logout 走的是 push 那條路:它們本來就是同一組憑證。 */
39
56
  case 'login':
40
57
  return runPush([...rest, '--login']);
@@ -52,7 +69,7 @@ async function main() {
52
69
  }
53
70
  }
54
71
  main().catch((err) => {
55
- process.stderr.write(`error: ${err instanceof Error ? err.message : String(err)}\n`);
72
+ fail(err instanceof Error ? err.message : String(err));
56
73
  process.exit(1);
57
74
  });
58
75
  //# sourceMappingURL=main.js.map
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,KAAK,GAAG;;;;;;;;;;;;uBAYS,gBAAgB;;CAEtC,CAAC;AAEF,KAAK,UAAU,IAAI;IACjB,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEjD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxB,8CAA8C;QAC9C,KAAK,OAAO;YACV,OAAO,OAAO,CAAC,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QACvC,KAAK,QAAQ;YACX,OAAO,OAAO,CAAC,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QACxC,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI,CAAC;QACV,KAAK,MAAM;YACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO;QACT;YACE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,OAAO,QAAQ,KAAK,EAAE,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;uBAeS,gBAAgB;;CAEtC,CAAC;AAEF,KAAK,UAAU,IAAI;IACjB;;;;OAIG;IACH,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;IACjE,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjD,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAEhC,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxB,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACzB,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACzB,8CAA8C;QAC9C,KAAK,OAAO;YACV,OAAO,OAAO,CAAC,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QACvC,KAAK,QAAQ;YACX,OAAO,OAAO,CAAC,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QACxC,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI,CAAC;QACV,KAAK,MAAM;YACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO;QACT;YACE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,OAAO,QAAQ,KAAK,EAAE,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC5B,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/dist/project.js CHANGED
@@ -14,6 +14,7 @@
14
14
  */
15
15
  import fs from 'node:fs/promises';
16
16
  import path from 'node:path';
17
+ import { line } from "./report.js";
17
18
  import { readEntries } from "./entries.js";
18
19
  import { SURFACES } from "./integration.js";
19
20
  import { ensureBearer, push } from "./push.js";
@@ -49,7 +50,8 @@ function sheetPage(entry, token) {
49
50
  }
50
51
  export async function pushProject(opts) {
51
52
  const { root, endpoint, items, buildItem } = opts;
52
- const write = opts.out ?? ((line) => process.stdout.write(line));
53
+ const write = opts.out ?? line;
54
+ const pushed = [];
53
55
  const dist = path.join(root, 'dist');
54
56
  const scratch = path.join(root, '.build');
55
57
  await fs.rm(scratch, { recursive: true, force: true });
@@ -106,9 +108,12 @@ export async function pushProject(opts) {
106
108
  cwd: root,
107
109
  out: () => { },
108
110
  });
109
- write(`→ ${new URL(endpoint).origin}/${token}\n`);
111
+ const url = `${new URL(endpoint).origin}/${token}`;
112
+ write(`→ ${url}\n`);
113
+ pushed.push({ slug: entry.id, kind, token, url });
110
114
  }
111
115
  await fs.rm(scratch, { recursive: true, force: true });
116
+ return pushed;
112
117
  }
113
118
  /** 預設的建置器:呼叫框架自己的 CLI。測試會換掉它。 */
114
119
  export const realBuildItem = async (o) => {
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAc,QAAQ,EAAgB,MAAM,kBAAkB,CAAC;AAEtE,OAAO,EAAE,YAAY,EAAoB,IAAI,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC,qCAAqC;AACrC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY;IAC5C,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gDAAgD;AAChD,SAAS,SAAS,CAAC,KAAY,EAAE,KAAa;IAC5C,MAAM,GAAG,GAAG,CAAC,CAAU,EAAU,EAAE,CACjC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,CAAC;IACtC,OAAO;4EACmE,GAAG,CAAC,KAAK,CAAC;;;;;;;;;;;cAWxE,GAAG,CAAC,KAAK,CAAC,6BAA6B,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;sBAC1D,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,GAAG,CAAC,KAAK,CAAC;eAC7D,CAAC;AAChB,CAAC;AAeD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAQjC;IACC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE1C,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvD;;;;OAIG;IACH,MAAM,MAAM,GACV,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,MAAM,YAAY,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAE3G,KAAK,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,EAAc,CAAC;QACzD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACtC,KAAK,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAEnC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3D,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACjE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC;oBAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACzF,CAAC;YACD,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACjF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YACtC,MAAM,SAAS,CAAC;gBACd,IAAI;gBACJ,OAAO;gBACP,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,MAAM,EAAE,GAAG;gBACX,MAAM,EACJ,UAAU,KAAK,SAAS;oBACtB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;aAC9D,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,CAAC;YACT,GAAG,IAAI,CAAC,IAAI;YACZ,MAAM;YACN,QAAQ;YACR,IAAI,EAAE,KAAK,CAAC,EAAE;YACd,IAAI;YACJ,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,WAAW;YAC7C,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,GAAG;YACZ,oCAAoC;YACpC,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;YAC3C,KAAK;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;SACd,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,IAAI,KAAK,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,iCAAiC;AACjC,MAAM,CAAC,MAAM,aAAa,GAAc,KAAK,EAAE,CAAC,EAAE,EAAE;IAClD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
package/dist/push.js CHANGED
@@ -1,9 +1,18 @@
1
1
  import { createBundle } from "./bundle.js";
2
2
  import { PublishError, discover, formatBytes, pollDeviceAuth, startDeviceAuth, upload } from "./client.js";
3
+ import { jsonMode } from "./report.js";
3
4
  import { clearCredential, loadCredential, saveCredential } from "./credentials.js";
4
5
  import { collectSource } from "./source.js";
5
6
  import { forgetToken, rememberUrl, tokenFor } from "./state.js";
6
7
  const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
8
+ /*
9
+ * 裝置碼是印給人看的,而核准要有人在瀏覽器按下去。`--json` 的讀者按不了,靜音的
10
+ * 輸出還會把碼吞掉 —— 剩下的就是一個看起來像當掉的程序,輪詢到過期為止。與其那樣,
11
+ * 不如立刻說清楚缺什麼。
12
+ */
13
+ function refuseInteractiveLogin() {
14
+ throw new PublishError('not signed in — run `costaff-workspace login` once, or set COSTAFF_WORKSPACE_TOKEN');
15
+ }
7
16
  /** Exported so `pull` runs the same device flow rather than its own. */
8
17
  export async function login(opts, name) {
9
18
  const write = opts.out ?? (() => { });
@@ -57,6 +66,8 @@ async function resolveBearer(opts, name) {
57
66
  if (stored !== null)
58
67
  return stored.token;
59
68
  }
69
+ if (jsonMode())
70
+ refuseInteractiveLogin();
60
71
  return login(opts, name);
61
72
  }
62
73
  export async function push(opts) {
package/dist/push.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../src/push.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../src/push.ts"],"names":[],"mappings":"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"}
package/dist/report.js ADDED
@@ -0,0 +1,35 @@
1
+ /**
2
+ * 一次輸出,兩種讀者。
3
+ *
4
+ * 人要看的是「推到哪、網址是什麼」;agent 要的是能直接讀的欄位。原本只有前者,
5
+ * 所以要拿回網址就得對著人類文案下正規式 —— 而那份文案改一個字就會壞,改的人
6
+ * 也不會知道自己弄壞了誰。
7
+ *
8
+ * `--json` 開啟之後,人看的那些行完全不印:混在同一條 stdout 裡的 JSON 不是
9
+ * JSON。錯誤也跟著換成 JSON,否則 agent 得同時解析兩種格式才知道發生什麼事。
10
+ */
11
+ let json = false;
12
+ export function setJson(on) {
13
+ json = on;
14
+ }
15
+ export function jsonMode() {
16
+ return json;
17
+ }
18
+ /** 給人看的一行。`--json` 之下靜音。 */
19
+ export function line(text) {
20
+ if (!json)
21
+ process.stdout.write(text);
22
+ }
23
+ /** 指令的結果。`--json` 之下才印,而且是這條 stdout 上唯一的東西。 */
24
+ export function done(body) {
25
+ if (json)
26
+ process.stdout.write(`${JSON.stringify({ ok: true, ...body })}\n`);
27
+ }
28
+ /** 失敗。兩種模式都以 1 結束,差別只在讀的人是誰。 */
29
+ export function fail(message) {
30
+ if (json)
31
+ process.stdout.write(`${JSON.stringify({ ok: false, error: message })}\n`);
32
+ else
33
+ process.stderr.write(`error: ${message}\n`);
34
+ }
35
+ //# sourceMappingURL=report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,IAAI,IAAI,GAAG,KAAK,CAAC;AAEjB,MAAM,UAAU,OAAO,CAAC,EAAW;IACjC,IAAI,GAAG,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,IAAI,CAAC,IAAY;IAC/B,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,IAAI,CAAC,IAA6B;IAChD,IAAI,IAAI;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;AAC/E,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,IAAI,CAAC,OAAe;IAClC,IAAI,IAAI;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;;QAChF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,IAAI,CAAC,CAAC;AACnD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "costaff-workspace",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "Publish documents, decks and workbooks to CoStaff Workspace, and pull their source back out",
5
5
  "keywords": [
6
6
  "costaff",
@@ -31,6 +31,7 @@
31
31
  },
32
32
  "files": [
33
33
  "dist",
34
+ "skills",
34
35
  "README.zh-TW.md"
35
36
  ],
36
37
  "scripts": {
@@ -0,0 +1,109 @@
1
+ ---
2
+ name: costaff-workspace
3
+ description: Publish a built open-doc, open-slide or open-sheet project to CoStaff Workspace and get shareable links back, pull a published file's source onto this machine to keep working on it, or keep a project's themes/ folder in the workspace. Use whenever the user asks to publish, ship, share, upload or "put this online", asks for the link to something they published, wants to continue editing something that lives in the workspace, or mentions costaff-workspace, workspace.costaffs.app, or a token that looks like a workspace address.
4
+ ---
5
+
6
+ # Publishing to CoStaff Workspace
7
+
8
+ The `costaff-workspace` CLI is the only way files get into the workspace — there
9
+ is no browser upload. Every command takes `--json`, which prints one line on
10
+ stdout and nothing else. Use it: the prose output is for people and its wording
11
+ is not a contract.
12
+
13
+ ## Before anything else: is this machine signed in?
14
+
15
+ ```bash
16
+ costaff-workspace whoami --json
17
+ ```
18
+
19
+ ```json
20
+ {"ok":true,"command":"whoami","endpoint":"https://workspace.costaffs.app","signedIn":false,"source":"none","account":null,"expiresAt":null}
21
+ ```
22
+
23
+ **If `signedIn` is false, stop and ask the user to run `costaff-workspace login`
24
+ themselves.** Signing in prints a device code that has to be approved in a
25
+ browser; you cannot do that, and you must not try. Under `--json` every command
26
+ that would need it fails immediately rather than waiting, so a run that skips
27
+ this check does not hang — it just fails later with less to say.
28
+
29
+ `source` tells you where a credential came from: `flag`, `env`, `stored`, or
30
+ `none`. `whoami` reads local state only, so a token revoked on the server still
31
+ reads as signed in until something uses it.
32
+
33
+ ## Publishing
34
+
35
+ Publishing sends the **built** output, so build first. Then, from the project
36
+ folder:
37
+
38
+ ```bash
39
+ pnpm build
40
+ costaff-workspace push --dry-run --json # packages and reports, uploads nothing
41
+ costaff-workspace push --json
42
+ ```
43
+
44
+ Always dry-run first and show the user what it found. `push` guesses the slug
45
+ from the folder name and the kind from `package.json`; a wrong guess publishes
46
+ under the wrong identity, and the dry run is where that is cheap to catch.
47
+
48
+ ```json
49
+ {"ok":true,"command":"push","endpoint":"https://workspace.costaffs.app","dryRun":false,
50
+ "items":[{"slug":"q3-report","kind":"deck","token":"8fjq2ldk3nx7yrpv0aet",
51
+ "url":"https://workspace.costaffs.app/8fjq2ldk3nx7yrpv0aet"}]}
52
+ ```
53
+
54
+ Give the user the `url`. Keep the `token`: it is what `pull` takes.
55
+
56
+ **Ask before pushing.** A push puts the user's work on a public host under an
57
+ address they can hand to other people. It is private until they share it, and
58
+ re-pushing keeps the same address, so this is not dangerous — but it is theirs
59
+ to decide, and an unasked-for publish is a surprise.
60
+
61
+ A project with several documents publishes each as its own bundle, so `items`
62
+ usually has more than one entry. Report all of them.
63
+
64
+ ## Continuing somewhere else
65
+
66
+ ```bash
67
+ costaff-workspace pull <token> ./my-doc --json
68
+ cd my-doc && pnpm install
69
+ ```
70
+
71
+ What comes back is a complete project. Build it, push it, and the same address
72
+ updates — that is how a document moves between machines without the link
73
+ changing.
74
+
75
+ ## Themes
76
+
77
+ A theme is a house style the next document can start from: `themes/<id>.md`
78
+ describes it, an optional `themes/<id>.demo.tsx` shows it. Themes belong to the
79
+ account rather than to one file.
80
+
81
+ ```bash
82
+ costaff-workspace theme list --json # what the account already has
83
+ costaff-workspace theme pull aurora # copy one into ./themes to follow it
84
+ costaff-workspace theme push # send this project's themes up
85
+ ```
86
+
87
+ When the user asks for a document that should look like their others, check
88
+ `theme list` first and pull the spec rather than inventing a look.
89
+
90
+ ## When something fails
91
+
92
+ Every failure is the same shape, with exit status 1:
93
+
94
+ ```json
95
+ {"ok":false,"error":"not signed in — run `costaff-workspace login` once, or set COSTAFF_WORKSPACE_TOKEN"}
96
+ ```
97
+
98
+ Read `error` and say what it says. Two worth recognising:
99
+
100
+ - **not signed in** — ask the user to run `login`. Do not retry.
101
+ - **a guess it could not make** — `push` refuses rather than inventing a slug or
102
+ kind. Pass `--slug` or `--kind` once you and the user agree what they are.
103
+
104
+ ## What not to do
105
+
106
+ - Do not open a browser, or tell the user you will sign in for them.
107
+ - Do not parse the human-readable output. `--json` exists for this.
108
+ - Do not push without building first; the workspace serves what `dist/` held.
109
+ - Do not push a project you have not been asked to publish.