@pmate/cli 0.5.6 → 0.6.1

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.
Files changed (36) hide show
  1. package/README.md +26 -5
  2. package/dist/alioss.d.ts +4 -2
  3. package/dist/alioss.js +53 -12
  4. package/dist/alioss.js.map +1 -1
  5. package/dist/commands/AddDnsCommandHandler.js +5 -3
  6. package/dist/commands/AddDnsCommandHandler.js.map +1 -1
  7. package/dist/commands/DeployCommandHandler.js +4 -3
  8. package/dist/commands/DeployCommandHandler.js.map +1 -1
  9. package/dist/commands/LinearCommandHandler.d.ts +5 -0
  10. package/dist/commands/LinearCommandHandler.js +159 -24
  11. package/dist/commands/LinearCommandHandler.js.map +1 -1
  12. package/dist/commands/LoginCommandHandler.js +5 -3
  13. package/dist/commands/LoginCommandHandler.js.map +1 -1
  14. package/dist/commands/NotionCommandHandler.d.ts +5 -0
  15. package/dist/commands/NotionCommandHandler.js +49 -0
  16. package/dist/commands/NotionCommandHandler.js.map +1 -0
  17. package/dist/commands/PrCommandHandler.js +65 -12
  18. package/dist/commands/PrCommandHandler.js.map +1 -1
  19. package/dist/commands/SummaryCommandHandler.js +6 -4
  20. package/dist/commands/SummaryCommandHandler.js.map +1 -1
  21. package/dist/config.d.ts +48 -1
  22. package/dist/config.js +139 -16
  23. package/dist/config.js.map +1 -1
  24. package/dist/index.d.ts +1 -1
  25. package/dist/index.js +98 -6
  26. package/dist/index.js.map +1 -1
  27. package/dist/services/AliyunService.d.ts +0 -2
  28. package/dist/services/AliyunService.js +129 -66
  29. package/dist/services/AliyunService.js.map +1 -1
  30. package/dist/services/NotionService.d.ts +43 -0
  31. package/dist/services/NotionService.js +268 -0
  32. package/dist/services/NotionService.js.map +1 -0
  33. package/dist/types.d.ts +15 -2
  34. package/dist/types.js +1 -0
  35. package/dist/types.js.map +1 -1
  36. package/package.json +2 -1
@@ -0,0 +1,268 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NotionService = void 0;
4
+ const config_1 = require("../config");
5
+ class NotionService {
6
+ static getToken() {
7
+ var _a, _b;
8
+ const config = (0, config_1.loadPmateConfig)();
9
+ const token = (_b = (_a = config.notion) === null || _a === void 0 ? void 0 : _a.token) === null || _b === void 0 ? void 0 : _b.trim();
10
+ if (!token) {
11
+ throw new Error("Missing notion.token in ~/.pmate/config.yaml.");
12
+ }
13
+ return token;
14
+ }
15
+ static normalizePageId(input) {
16
+ var _a, _b, _c, _d;
17
+ const trimmed = input.trim();
18
+ if (!trimmed) {
19
+ throw new Error("Notion page id cannot be empty.");
20
+ }
21
+ // Accept raw UUID, UUID without hyphens, or a Notion URL.
22
+ try {
23
+ const url = new URL(trimmed);
24
+ const pathParts = url.pathname.split("/").filter(Boolean);
25
+ const last = (_a = pathParts[pathParts.length - 1]) !== null && _a !== void 0 ? _a : "";
26
+ const fromQuery = (_d = (_c = (_b = url.searchParams.get("p")) !== null && _b !== void 0 ? _b : url.searchParams.get("page")) !== null && _c !== void 0 ? _c : url.searchParams.get("pageId")) !== null && _d !== void 0 ? _d : "";
27
+ const candidate = (fromQuery || last).trim();
28
+ if (!candidate) {
29
+ throw new Error("Unrecognized Notion URL.");
30
+ }
31
+ return this.normalizeIdString(candidate);
32
+ }
33
+ catch {
34
+ return this.normalizeIdString(trimmed);
35
+ }
36
+ }
37
+ static normalizeIdString(value) {
38
+ var _a;
39
+ const uuidMatch = value.match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);
40
+ if (uuidMatch === null || uuidMatch === void 0 ? void 0 : uuidMatch[0]) {
41
+ return uuidMatch[0].toLowerCase();
42
+ }
43
+ const compactMatches = [...value.matchAll(/[0-9a-f]{32}/gi)].map((match) => match[0]);
44
+ const compact = (_a = compactMatches[compactMatches.length - 1]) === null || _a === void 0 ? void 0 : _a.toLowerCase();
45
+ if (compact) {
46
+ return compact.replace(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/, "$1-$2-$3-$4-$5");
47
+ }
48
+ throw new Error("Invalid Notion page id or URL.");
49
+ }
50
+ static async getPage(pageIdOrUrl) {
51
+ const pageId = this.normalizePageId(pageIdOrUrl);
52
+ return this.requestJson(`/pages/${pageId}`, {
53
+ method: "GET",
54
+ });
55
+ }
56
+ static async getPageTitle(page) {
57
+ var _a, _b;
58
+ const properties = (_a = page.properties) !== null && _a !== void 0 ? _a : {};
59
+ for (const value of Object.values(properties)) {
60
+ if ((value === null || value === void 0 ? void 0 : value.type) === "title") {
61
+ const title = (_b = value.title) !== null && _b !== void 0 ? _b : [];
62
+ return this.richTextToPlain(title) || undefined;
63
+ }
64
+ }
65
+ return undefined;
66
+ }
67
+ static async listAllChildBlocks(blockIdOrUrl) {
68
+ var _a;
69
+ const blockId = this.normalizePageId(blockIdOrUrl);
70
+ let cursor;
71
+ const results = [];
72
+ while (true) {
73
+ const search = new URLSearchParams();
74
+ search.set("page_size", "100");
75
+ if (cursor) {
76
+ search.set("start_cursor", cursor);
77
+ }
78
+ const response = await this.requestJson(`/blocks/${blockId}/children?${search.toString()}`, { method: "GET" });
79
+ results.push(...((_a = response.results) !== null && _a !== void 0 ? _a : []));
80
+ if (!response.has_more || !response.next_cursor) {
81
+ return results;
82
+ }
83
+ cursor = response.next_cursor;
84
+ }
85
+ }
86
+ static async replacePageContent(pageIdOrUrl, children) {
87
+ const pageId = this.normalizePageId(pageIdOrUrl);
88
+ const existing = await this.listAllChildBlocks(pageId);
89
+ for (const block of existing) {
90
+ await this.requestJson(`/blocks/${block.id}`, {
91
+ method: "PATCH",
92
+ body: JSON.stringify({ archived: true }),
93
+ });
94
+ }
95
+ await this.appendBlocks(pageId, children);
96
+ }
97
+ static async appendPageContent(pageIdOrUrl, children) {
98
+ const pageId = this.normalizePageId(pageIdOrUrl);
99
+ await this.appendBlocks(pageId, children);
100
+ }
101
+ static async appendBlocks(pageId, children) {
102
+ const chunkSize = 50;
103
+ for (let i = 0; i < children.length; i += chunkSize) {
104
+ const chunk = children.slice(i, i + chunkSize);
105
+ await this.requestJson(`/blocks/${pageId}/children`, {
106
+ method: "PATCH",
107
+ body: JSON.stringify({ children: chunk }),
108
+ });
109
+ }
110
+ }
111
+ static async getPagePlainText(pageIdOrUrl) {
112
+ const page = await this.getPage(pageIdOrUrl);
113
+ const title = await this.getPageTitle(page);
114
+ const blocks = await this.listAllChildBlocks(page.id);
115
+ const content = await this.blocksToPlainText(blocks, 0);
116
+ return { title, url: page.url, content };
117
+ }
118
+ static async blocksToPlainText(blocks, depth) {
119
+ const lines = [];
120
+ for (const block of blocks) {
121
+ const line = this.blockToLine(block, depth);
122
+ if (line) {
123
+ lines.push(line);
124
+ }
125
+ if (block.has_children) {
126
+ const children = await this.listAllChildBlocks(block.id);
127
+ const nested = await this.blocksToPlainText(children, depth + 1);
128
+ if (nested.trim()) {
129
+ lines.push(nested);
130
+ }
131
+ }
132
+ }
133
+ return lines.join("\n");
134
+ }
135
+ static blockToLine(block, depth) {
136
+ var _a, _b;
137
+ const indent = " ".repeat(Math.max(0, depth));
138
+ const type = block.type;
139
+ if (type === "divider") {
140
+ return `${indent}---`;
141
+ }
142
+ const payload = block[type];
143
+ const richText = (_a = payload === null || payload === void 0 ? void 0 : payload.rich_text) !== null && _a !== void 0 ? _a : [];
144
+ const text = this.richTextToPlain(richText);
145
+ switch (type) {
146
+ case "heading_1":
147
+ return `${indent}# ${text}`;
148
+ case "heading_2":
149
+ return `${indent}## ${text}`;
150
+ case "heading_3":
151
+ return `${indent}### ${text}`;
152
+ case "bulleted_list_item":
153
+ return `${indent}- ${text}`;
154
+ case "numbered_list_item":
155
+ return `${indent}1. ${text}`;
156
+ case "to_do": {
157
+ const checked = Boolean(payload === null || payload === void 0 ? void 0 : payload.checked);
158
+ const box = checked ? "[x]" : "[ ]";
159
+ return `${indent}${box} ${text}`;
160
+ }
161
+ case "quote":
162
+ return `${indent}> ${text}`;
163
+ case "code": {
164
+ const language = String((_b = payload === null || payload === void 0 ? void 0 : payload.language) !== null && _b !== void 0 ? _b : "");
165
+ return `${indent}\`\`\`${language}\n${text}\n${indent}\`\`\``;
166
+ }
167
+ case "paragraph":
168
+ default:
169
+ return text ? `${indent}${text}` : "";
170
+ }
171
+ }
172
+ static contentToBlocks(content) {
173
+ const lines = content.replace(/\r\n/g, "\n").split("\n");
174
+ const blocks = [];
175
+ for (const rawLine of lines) {
176
+ const line = rawLine.trimEnd();
177
+ const trimmed = line.trim();
178
+ if (!trimmed) {
179
+ continue;
180
+ }
181
+ if (trimmed.startsWith("### ")) {
182
+ blocks.push(headingBlock(3, trimmed.slice(4)));
183
+ continue;
184
+ }
185
+ if (trimmed.startsWith("## ")) {
186
+ blocks.push(headingBlock(2, trimmed.slice(3)));
187
+ continue;
188
+ }
189
+ if (trimmed.startsWith("# ")) {
190
+ blocks.push(headingBlock(1, trimmed.slice(2)));
191
+ continue;
192
+ }
193
+ if (trimmed.startsWith("- ") || trimmed.startsWith("* ")) {
194
+ blocks.push(bulletBlock(trimmed.slice(2)));
195
+ continue;
196
+ }
197
+ const numbered = trimmed.match(/^(\d+)\.\s+(.*)$/);
198
+ if (numbered) {
199
+ blocks.push(numberedBlock(numbered[2]));
200
+ continue;
201
+ }
202
+ blocks.push(paragraphBlock(trimmed));
203
+ }
204
+ return blocks;
205
+ }
206
+ static richTextToPlain(richText) {
207
+ return richText
208
+ .map((item) => { var _a, _b, _c; return (_c = (_a = item.plain_text) !== null && _a !== void 0 ? _a : (_b = item.text) === null || _b === void 0 ? void 0 : _b.content) !== null && _c !== void 0 ? _c : ""; })
209
+ .join("")
210
+ .trim();
211
+ }
212
+ static async requestJson(path, init) {
213
+ var _a, _b;
214
+ const token = this.getToken();
215
+ const response = await fetch(`${this.baseUrl}${path}`, {
216
+ method: init.method,
217
+ headers: {
218
+ Authorization: `Bearer ${token}`,
219
+ "Notion-Version": this.notionVersion,
220
+ "Content-Type": "application/json",
221
+ },
222
+ body: init.body,
223
+ });
224
+ const contentType = (_a = response.headers.get("content-type")) !== null && _a !== void 0 ? _a : "";
225
+ const isJson = contentType.toLowerCase().includes("application/json");
226
+ const data = isJson ? await response.json() : await response.text();
227
+ if (!response.ok) {
228
+ const message = typeof data === "string"
229
+ ? data
230
+ : (_b = data.message) !== null && _b !== void 0 ? _b : JSON.stringify(data);
231
+ throw new Error(`Notion API error ${response.status}: ${message}`);
232
+ }
233
+ return data;
234
+ }
235
+ }
236
+ exports.NotionService = NotionService;
237
+ NotionService.baseUrl = "https://api.notion.com/v1";
238
+ NotionService.notionVersion = "2022-06-28";
239
+ function paragraphBlock(text) {
240
+ return {
241
+ object: "block",
242
+ type: "paragraph",
243
+ paragraph: { rich_text: [{ type: "text", text: { content: text } }] },
244
+ };
245
+ }
246
+ function headingBlock(level, text) {
247
+ const type = level === 1 ? "heading_1" : level === 2 ? "heading_2" : "heading_3";
248
+ return {
249
+ object: "block",
250
+ type,
251
+ [type]: { rich_text: [{ type: "text", text: { content: text } }] },
252
+ };
253
+ }
254
+ function bulletBlock(text) {
255
+ return {
256
+ object: "block",
257
+ type: "bulleted_list_item",
258
+ bulleted_list_item: { rich_text: [{ type: "text", text: { content: text } }] },
259
+ };
260
+ }
261
+ function numberedBlock(text) {
262
+ return {
263
+ object: "block",
264
+ type: "numbered_list_item",
265
+ numbered_list_item: { rich_text: [{ type: "text", text: { content: text } }] },
266
+ };
267
+ }
268
+ //# sourceMappingURL=NotionService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotionService.js","sourceRoot":"","sources":["../../src/services/NotionService.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -45,6 +45,7 @@ export declare enum Command {
45
45
  Pr = "pr",
46
46
  Summary = "summary",
47
47
  Linear = "linear",
48
+ Notion = "notion",
48
49
  Oss = "oss"
49
50
  }
50
51
  export type NoneCommandArgs = {
@@ -114,7 +115,7 @@ export type LinearPrCommandArgs = {
114
115
  export type LinearCreateCommandArgs = {
115
116
  type: Command.Linear;
116
117
  action: "create";
117
- mode: "repl" | "direct";
118
+ mode: "repl" | "direct" | "screenshot";
118
119
  title?: string;
119
120
  description?: string;
120
121
  teamId?: string;
@@ -137,6 +138,18 @@ export type LinearSubIssuesCommandArgs = {
137
138
  cwd: string;
138
139
  };
139
140
  export type LinearCommandArgs = LinearPrCommandArgs | LinearCreateCommandArgs | LinearViewCommandArgs | LinearSubIssuesCommandArgs;
141
+ export type NotionCommandArgs = {
142
+ type: Command.Notion;
143
+ action: "view";
144
+ pageId: string;
145
+ } | {
146
+ type: Command.Notion;
147
+ action: "update";
148
+ pageId: string;
149
+ content?: string;
150
+ filePath?: string;
151
+ append?: boolean;
152
+ };
140
153
  export type OssCommandArgs = {
141
154
  type: Command.Oss;
142
155
  action: "list";
@@ -146,4 +159,4 @@ export type OssCommandArgs = {
146
159
  filePath: string;
147
160
  objectKey: string;
148
161
  };
149
- export type CommandArgs = NoneCommandArgs | ListCommandArgs | LoginCommandArgs | AddDnsCommandArgs | StsCommandArgs | BucketCommandArgs | DeployCommandArgs | InitCommandArgs | DevCommandArgs | EnvCommandArgs | PrCommandArgs | SummaryCommandArgs | LinearCommandArgs | OssCommandArgs;
162
+ export type CommandArgs = NoneCommandArgs | ListCommandArgs | LoginCommandArgs | AddDnsCommandArgs | StsCommandArgs | BucketCommandArgs | DeployCommandArgs | InitCommandArgs | DevCommandArgs | EnvCommandArgs | PrCommandArgs | SummaryCommandArgs | LinearCommandArgs | NotionCommandArgs | OssCommandArgs;
package/dist/types.js CHANGED
@@ -16,6 +16,7 @@ var Command;
16
16
  Command["Pr"] = "pr";
17
17
  Command["Summary"] = "summary";
18
18
  Command["Linear"] = "linear";
19
+ Command["Notion"] = "notion";
19
20
  Command["Oss"] = "oss";
20
21
  })(Command || (exports.Command = Command = {}));
21
22
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AA2CA,IAAY,OAeX;AAfD,WAAY,OAAO;IACjB,wBAAa,CAAA;IACb,wBAAa,CAAA;IACb,0BAAe,CAAA;IACf,6BAAkB,CAAA;IAClB,sBAAW,CAAA;IACX,4BAAiB,CAAA;IACjB,4BAAiB,CAAA;IACjB,wBAAa,CAAA;IACb,sBAAW,CAAA;IACX,sBAAW,CAAA;IACX,oBAAS,CAAA;IACT,8BAAmB,CAAA;IACnB,4BAAiB,CAAA;IACjB,sBAAW,CAAA;AACb,CAAC,EAfW,OAAO,uBAAP,OAAO,QAelB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AA2CA,IAAY,OAgBX;AAhBD,WAAY,OAAO;IACjB,wBAAa,CAAA;IACb,wBAAa,CAAA;IACb,0BAAe,CAAA;IACf,6BAAkB,CAAA;IAClB,sBAAW,CAAA;IACX,4BAAiB,CAAA;IACjB,4BAAiB,CAAA;IACjB,wBAAa,CAAA;IACb,sBAAW,CAAA;IACX,sBAAW,CAAA;IACX,oBAAS,CAAA;IACT,8BAAmB,CAAA;IACnB,4BAAiB,CAAA;IACjB,4BAAiB,CAAA;IACjB,sBAAW,CAAA;AACb,CAAC,EAhBW,OAAO,uBAAP,OAAO,QAgBlB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pmate/cli",
3
- "version": "0.5.6",
3
+ "version": "0.6.1",
4
4
  "description": "CLI utilities for the pMate project",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -41,6 +41,7 @@
41
41
  "ali-oss": "^6.23.0",
42
42
  "chalk": "^4.1.2",
43
43
  "dotenv": "^16.6.1",
44
+ "ajv": "^8.17.1",
44
45
  "openai": "^6.16.0",
45
46
  "tslib": "^2.8.1",
46
47
  "yaml": "^2.8.2"