@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.
- package/README.md +26 -5
- package/dist/alioss.d.ts +4 -2
- package/dist/alioss.js +53 -12
- package/dist/alioss.js.map +1 -1
- package/dist/commands/AddDnsCommandHandler.js +5 -3
- package/dist/commands/AddDnsCommandHandler.js.map +1 -1
- package/dist/commands/DeployCommandHandler.js +4 -3
- package/dist/commands/DeployCommandHandler.js.map +1 -1
- package/dist/commands/LinearCommandHandler.d.ts +5 -0
- package/dist/commands/LinearCommandHandler.js +159 -24
- package/dist/commands/LinearCommandHandler.js.map +1 -1
- package/dist/commands/LoginCommandHandler.js +5 -3
- package/dist/commands/LoginCommandHandler.js.map +1 -1
- package/dist/commands/NotionCommandHandler.d.ts +5 -0
- package/dist/commands/NotionCommandHandler.js +49 -0
- package/dist/commands/NotionCommandHandler.js.map +1 -0
- package/dist/commands/PrCommandHandler.js +65 -12
- package/dist/commands/PrCommandHandler.js.map +1 -1
- package/dist/commands/SummaryCommandHandler.js +6 -4
- package/dist/commands/SummaryCommandHandler.js.map +1 -1
- package/dist/config.d.ts +48 -1
- package/dist/config.js +139 -16
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +98 -6
- package/dist/index.js.map +1 -1
- package/dist/services/AliyunService.d.ts +0 -2
- package/dist/services/AliyunService.js +129 -66
- package/dist/services/AliyunService.js.map +1 -1
- package/dist/services/NotionService.d.ts +43 -0
- package/dist/services/NotionService.js +268 -0
- package/dist/services/NotionService.js.map +1 -0
- package/dist/types.d.ts +15 -2
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- 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
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AA2CA,IAAY,
|
|
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.
|
|
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"
|