@qelos/aidev 0.2.10 → 0.2.11

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,182 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NotionProvider = void 0;
4
+ const logger_1 = require("../logger");
5
+ const NOTION_API_BASE = 'https://api.notion.com/v1';
6
+ const NOTION_VERSION = '2022-06-28';
7
+ function extractPlainText(items) {
8
+ if (!Array.isArray(items))
9
+ return '';
10
+ return items.map((t) => t.plain_text ?? t.text?.content ?? '').join('');
11
+ }
12
+ function getTitlePropertyName(properties) {
13
+ const entry = Object.entries(properties).find(([, p]) => p.type === 'title');
14
+ return entry?.[0] ?? 'Name';
15
+ }
16
+ function getStatusPropertyInfo(properties, statusPropName) {
17
+ const name = statusPropName || 'Status';
18
+ const prop = properties[name];
19
+ if (!prop)
20
+ return null;
21
+ if (prop.type === 'status')
22
+ return { name, type: 'status' };
23
+ if (prop.type === 'select')
24
+ return { name, type: 'select' };
25
+ return null;
26
+ }
27
+ class NotionProvider {
28
+ constructor(config) {
29
+ this.titlePropertyName = null;
30
+ this.statusPropertyType = null;
31
+ this.apiKey = config.notionApiKey;
32
+ this.databaseId = config.notionDatabaseId;
33
+ this.statusPropertyName = config.notionStatusProperty || 'Status';
34
+ this.pendingStatus = config.notionPendingStatus || 'pending';
35
+ this.inReviewStatus = config.notionInReviewStatus || 'review';
36
+ }
37
+ async ensureSchema() {
38
+ if (this.titlePropertyName !== null && this.statusPropertyType !== null)
39
+ return;
40
+ const db = await this.request(`/databases/${this.databaseId}`, {
41
+ method: 'GET',
42
+ });
43
+ this.titlePropertyName = getTitlePropertyName(db.properties);
44
+ const statusInfo = getStatusPropertyInfo(db.properties, this.statusPropertyName);
45
+ if (statusInfo) {
46
+ this.statusPropertyType = statusInfo.type;
47
+ }
48
+ else {
49
+ this.statusPropertyType = 'select';
50
+ }
51
+ }
52
+ async request(path, options = {}) {
53
+ const url = `${NOTION_API_BASE}${path}`;
54
+ const res = await fetch(url, {
55
+ ...options,
56
+ headers: {
57
+ Authorization: `Bearer ${this.apiKey}`,
58
+ 'Notion-Version': NOTION_VERSION,
59
+ 'Content-Type': 'application/json',
60
+ ...(options.headers || {}),
61
+ },
62
+ });
63
+ if (!res.ok) {
64
+ const body = await res.text();
65
+ throw new Error(`Notion API error ${res.status}: ${body}`);
66
+ }
67
+ return res.json();
68
+ }
69
+ buildQueryFilter() {
70
+ const prop = this.statusPropertyName;
71
+ const pending = this.pendingStatus;
72
+ const inReview = this.inReviewStatus;
73
+ const key = this.statusPropertyType === 'status' ? 'status' : 'select';
74
+ return {
75
+ or: [
76
+ { property: prop, [key]: { equals: pending } },
77
+ { property: prop, [key]: { equals: inReview } },
78
+ ],
79
+ };
80
+ }
81
+ async fetchTasks() {
82
+ await this.ensureSchema();
83
+ logger_1.logger.debug(`Fetching tasks from Notion database ${this.databaseId}`);
84
+ const body = {
85
+ page_size: 100,
86
+ filter: this.buildQueryFilter(),
87
+ };
88
+ const data = await this.request(`/databases/${this.databaseId}/query`, {
89
+ method: 'POST',
90
+ body: JSON.stringify(body),
91
+ });
92
+ const titleKey = this.titlePropertyName ?? 'Name';
93
+ const statusKey = this.statusPropertyName;
94
+ const tasks = [];
95
+ for (const page of data.results) {
96
+ const props = page.properties || {};
97
+ const titleProp = props[titleKey];
98
+ const statusProp = props[statusKey];
99
+ const name = titleProp?.title ? extractPlainText(titleProp.title) : '';
100
+ const statusValue = statusProp?.status?.name ?? statusProp?.select?.name ?? '';
101
+ const descProp = props['Description'] ?? props['description'];
102
+ const description = descProp?.rich_text ? extractPlainText(descProp.rich_text) : '';
103
+ const tagsProp = props['Tags'] ?? props['tags'];
104
+ const tags = Array.isArray(tagsProp?.multi_select)
105
+ ? tagsProp.multi_select.map((o) => o.name)
106
+ : [];
107
+ tasks.push({
108
+ id: page.id.replace(/-/g, ''),
109
+ name,
110
+ description,
111
+ status: statusValue.toLowerCase(),
112
+ url: page.url || `https://notion.so/${page.id.replace(/-/g, '')}`,
113
+ tags,
114
+ });
115
+ }
116
+ return tasks;
117
+ }
118
+ async postComment(taskId, text) {
119
+ logger_1.logger.debug(`Posting comment to Notion page ${taskId}`);
120
+ const pageId = taskId.length === 32 ? `${taskId.slice(0, 8)}-${taskId.slice(8, 12)}-${taskId.slice(12, 16)}-${taskId.slice(16, 20)}-${taskId.slice(20, 32)}` : taskId;
121
+ await this.request('/comments', {
122
+ method: 'POST',
123
+ body: JSON.stringify({
124
+ parent: { page_id: pageId },
125
+ rich_text: [{ type: 'text', text: { content: text } }],
126
+ }),
127
+ });
128
+ }
129
+ async getComments(taskId) {
130
+ logger_1.logger.debug(`Fetching comments for Notion page ${taskId}`);
131
+ const pageId = taskId.length === 32 ? `${taskId.slice(0, 8)}-${taskId.slice(8, 12)}-${taskId.slice(12, 16)}-${taskId.slice(16, 20)}-${taskId.slice(20, 32)}` : taskId;
132
+ const data = await this.request(`/comments?block_id=${pageId}`);
133
+ const comments = (data.results || []).map((c) => ({
134
+ id: c.id,
135
+ text: (c.rich_text || []).map((t) => t.plain_text ?? '').join(''),
136
+ author: 'Notion',
137
+ authorId: c.created_by?.id ?? '',
138
+ date: new Date(c.created_time).getTime(),
139
+ }));
140
+ comments.sort((a, b) => a.date - b.date);
141
+ return comments;
142
+ }
143
+ async updateStatus(taskId, status) {
144
+ await this.ensureSchema();
145
+ logger_1.logger.debug(`Updating Notion page ${taskId} status to "${status}"`);
146
+ const pageId = taskId.length === 32 ? `${taskId.slice(0, 8)}-${taskId.slice(8, 12)}-${taskId.slice(12, 16)}-${taskId.slice(16, 20)}-${taskId.slice(20, 32)}` : taskId;
147
+ const key = this.statusPropertyType === 'status' ? 'status' : 'select';
148
+ const value = key === 'status' ? { name: status } : { name: status };
149
+ await this.request(`/pages/${pageId}`, {
150
+ method: 'PATCH',
151
+ body: JSON.stringify({
152
+ properties: {
153
+ [this.statusPropertyName]: { [key]: value },
154
+ },
155
+ }),
156
+ });
157
+ }
158
+ async createTask(params) {
159
+ await this.ensureSchema();
160
+ const titleKey = this.titlePropertyName ?? 'Name';
161
+ const props = {
162
+ [titleKey]: {
163
+ title: [{ type: 'text', text: { content: params.title } }],
164
+ },
165
+ };
166
+ const key = this.statusPropertyType === 'status' ? 'status' : 'select';
167
+ props[this.statusPropertyName] = { [key]: { name: this.pendingStatus } };
168
+ const body = {
169
+ parent: { database_id: this.databaseId },
170
+ properties: props,
171
+ };
172
+ const page = await this.request('/pages', {
173
+ method: 'POST',
174
+ body: JSON.stringify(body),
175
+ });
176
+ const id = page.id.replace(/-/g, '');
177
+ const url = page.url || `https://notion.so/${page.id.replace(/-/g, '')}`;
178
+ return { id, url };
179
+ }
180
+ }
181
+ exports.NotionProvider = NotionProvider;
182
+ //# sourceMappingURL=notion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notion.js","sourceRoot":"","sources":["../../src/providers/notion.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -46,6 +46,7 @@ export interface Config {
46
46
  clickupTeamId: string;
47
47
  clickupTag: string;
48
48
  clickupPendingStatus: string;
49
+ clickupOpenStatus: string;
49
50
  clickupInReviewStatus: string;
50
51
  jiraBaseUrl: string;
51
52
  jiraEmail: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qelos/aidev",
3
- "version": "0.2.10",
3
+ "version": "0.2.11",
4
4
  "description": "AI-powered task executor — polls ClickUp (and more) to implement tasks with Claude or Cursor",
5
5
  "type": "commonjs",
6
6
  "bin": {