@neomei/opencode-feishu 0.1.1 → 0.2.0
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/CHANGELOG.md +29 -4
- package/README.md +88 -8
- package/dist/cli.js +141 -4
- package/dist/cli.js.map +1 -1
- package/dist/core/config.d.ts +4 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +21 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/daemon.d.ts.map +1 -1
- package/dist/core/daemon.js +2 -1
- package/dist/core/daemon.js.map +1 -1
- package/dist/core/dedup.d.ts +29 -0
- package/dist/core/dedup.d.ts.map +1 -0
- package/dist/core/dedup.js +69 -0
- package/dist/core/dedup.js.map +1 -0
- package/dist/core/file-downloader.d.ts +24 -0
- package/dist/core/file-downloader.d.ts.map +1 -0
- package/dist/core/file-downloader.js +79 -0
- package/dist/core/file-downloader.js.map +1 -0
- package/dist/core/message-handler.d.ts +6 -0
- package/dist/core/message-handler.d.ts.map +1 -1
- package/dist/core/message-handler.js +74 -9
- package/dist/core/message-handler.js.map +1 -1
- package/dist/core/profile-manager.d.ts +27 -0
- package/dist/core/profile-manager.d.ts.map +1 -0
- package/dist/core/profile-manager.js +149 -0
- package/dist/core/profile-manager.js.map +1 -0
- package/dist/core/session-manager.d.ts +1 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +25 -11
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/types.d.ts +2 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/feishu/api.d.ts +12 -0
- package/dist/feishu/api.d.ts.map +1 -1
- package/dist/feishu/api.js +89 -0
- package/dist/feishu/api.js.map +1 -1
- package/dist/feishu/card.d.ts +1 -1
- package/dist/feishu/card.d.ts.map +1 -1
- package/dist/feishu/card.js +13 -1
- package/dist/feishu/card.js.map +1 -1
- package/dist/feishu/event-source.d.ts.map +1 -1
- package/dist/feishu/event-source.js +13 -3
- package/dist/feishu/event-source.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/opencode/client.d.ts +5 -1
- package/dist/opencode/client.d.ts.map +1 -1
- package/dist/opencode/client.js +16 -3
- package/dist/opencode/client.js.map +1 -1
- package/dist/opencode/event-handler.d.ts.map +1 -1
- package/dist/opencode/event-handler.js +5 -2
- package/dist/opencode/event-handler.js.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +6 -1
- package/dist/plugin.js.map +1 -1
- package/dist/services/approval-service.d.ts +20 -0
- package/dist/services/approval-service.d.ts.map +1 -0
- package/dist/services/approval-service.js +123 -0
- package/dist/services/approval-service.js.map +1 -0
- package/dist/services/base-service.d.ts +22 -0
- package/dist/services/base-service.d.ts.map +1 -0
- package/dist/services/base-service.js +47 -0
- package/dist/services/base-service.js.map +1 -0
- package/dist/services/calendar-service.d.ts +25 -0
- package/dist/services/calendar-service.d.ts.map +1 -0
- package/dist/services/calendar-service.js +220 -0
- package/dist/services/calendar-service.js.map +1 -0
- package/dist/services/chat-service.d.ts +52 -0
- package/dist/services/chat-service.d.ts.map +1 -0
- package/dist/services/chat-service.js +170 -0
- package/dist/services/chat-service.js.map +1 -0
- package/dist/services/contact-service.d.ts +40 -0
- package/dist/services/contact-service.d.ts.map +1 -0
- package/dist/services/contact-service.js +137 -0
- package/dist/services/contact-service.js.map +1 -0
- package/dist/services/doc-service.d.ts +135 -0
- package/dist/services/doc-service.d.ts.map +1 -0
- package/dist/services/doc-service.js +509 -0
- package/dist/services/doc-service.js.map +1 -0
- package/dist/services/im-service.d.ts +64 -0
- package/dist/services/im-service.d.ts.map +1 -0
- package/dist/services/im-service.js +215 -0
- package/dist/services/im-service.js.map +1 -0
- package/dist/services/index.d.ts +9 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +10 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/task-service.d.ts +19 -0
- package/dist/services/task-service.d.ts.map +1 -0
- package/dist/services/task-service.js +126 -0
- package/dist/services/task-service.js.map +1 -0
- package/dist/setup/device-flow.d.ts +31 -0
- package/dist/setup/device-flow.d.ts.map +1 -0
- package/dist/setup/device-flow.js +133 -0
- package/dist/setup/device-flow.js.map +1 -0
- package/dist/setup/preflight.d.ts +2 -0
- package/dist/setup/preflight.d.ts.map +1 -1
- package/dist/setup/preflight.js +217 -13
- package/dist/setup/preflight.js.map +1 -1
- package/dist/setup/wizard.d.ts +1 -1
- package/dist/setup/wizard.d.ts.map +1 -1
- package/dist/setup/wizard.js +96 -124
- package/dist/setup/wizard.js.map +1 -1
- package/dist/standalone.d.ts.map +1 -1
- package/dist/standalone.js +17 -2
- package/dist/standalone.js.map +1 -1
- package/dist/types/extended.d.ts +196 -0
- package/dist/types/extended.d.ts.map +1 -0
- package/dist/types/extended.js +6 -0
- package/dist/types/extended.js.map +1 -0
- package/package.json +4 -2
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { BaseService } from './base-service.js';
|
|
2
|
+
/**
|
|
3
|
+
* Contact/ User Service
|
|
4
|
+
* Provides user operations: search, get info, department query
|
|
5
|
+
*/
|
|
6
|
+
export class ContactService extends BaseService {
|
|
7
|
+
constructor(api) {
|
|
8
|
+
super(api);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Search users by keyword (name, email, phone).
|
|
12
|
+
*/
|
|
13
|
+
async searchUsers(query, options) {
|
|
14
|
+
this.validateRequired(query, 'query');
|
|
15
|
+
return this.call('searchUsers', async () => {
|
|
16
|
+
const client = this.api.getClient();
|
|
17
|
+
const res = await client.request({
|
|
18
|
+
method: 'POST',
|
|
19
|
+
url: '/open-apis/contact/v3/users/batch_get_id',
|
|
20
|
+
data: {
|
|
21
|
+
query,
|
|
22
|
+
...this.buildPagination(options?.pageSize || 20, options?.pageToken),
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
if (res.code !== 0) {
|
|
26
|
+
// Try alternative search endpoint
|
|
27
|
+
const searchRes = await client.request({
|
|
28
|
+
method: 'GET',
|
|
29
|
+
url: '/open-apis/contact/v3/users',
|
|
30
|
+
params: {
|
|
31
|
+
query,
|
|
32
|
+
...this.buildPagination(options?.pageSize || 20, options?.pageToken),
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
if (searchRes.code !== 0) {
|
|
36
|
+
throw new Error(`Failed to search users: ${searchRes.msg || res.msg || 'Unknown error'}`);
|
|
37
|
+
}
|
|
38
|
+
const data = searchRes.data || {};
|
|
39
|
+
return {
|
|
40
|
+
users: (data.items || []).map((user) => this.parseUser(user)),
|
|
41
|
+
hasMore: data.has_more || false,
|
|
42
|
+
pageToken: data.page_token,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
const data = res.data || {};
|
|
46
|
+
return {
|
|
47
|
+
users: (data.user_list || []).map((user) => this.parseUser(user)),
|
|
48
|
+
hasMore: false,
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get user info by ID.
|
|
54
|
+
*/
|
|
55
|
+
async getUserInfo(userId) {
|
|
56
|
+
this.validateRequired(userId, 'userId');
|
|
57
|
+
return this.call('getUserInfo', async () => {
|
|
58
|
+
const client = this.api.getClient();
|
|
59
|
+
const res = await client.contact.v3.user.get({
|
|
60
|
+
path: { user_id: userId },
|
|
61
|
+
params: { user_id_type: 'open_id' },
|
|
62
|
+
});
|
|
63
|
+
if (res.code !== 0) {
|
|
64
|
+
throw new Error(`Failed to get user info: ${res.msg || 'Unknown error'}`);
|
|
65
|
+
}
|
|
66
|
+
return this.parseUser(res.data?.user);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Get current bot info.
|
|
71
|
+
*/
|
|
72
|
+
async getBotInfo() {
|
|
73
|
+
return this.call('getBotInfo', async () => {
|
|
74
|
+
const client = this.api.getClient();
|
|
75
|
+
const res = await client.request({
|
|
76
|
+
method: 'GET',
|
|
77
|
+
url: '/open-apis/bot/v3/info',
|
|
78
|
+
});
|
|
79
|
+
if (res.code !== 0) {
|
|
80
|
+
throw new Error(`Failed to get bot info: ${res.msg || 'Unknown error'}`);
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
openId: res.data?.bot?.open_id,
|
|
84
|
+
name: res.data?.bot?.app_name || 'Bot',
|
|
85
|
+
};
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Get user list by department.
|
|
90
|
+
*/
|
|
91
|
+
async getDepartmentUsers(departmentId, options) {
|
|
92
|
+
this.validateRequired(departmentId, 'departmentId');
|
|
93
|
+
return this.call('getDepartmentUsers', async () => {
|
|
94
|
+
const client = this.api.getClient();
|
|
95
|
+
const res = await client.contact.v3.user.findByDepartment({
|
|
96
|
+
params: {
|
|
97
|
+
department_id_type: 'open_department_id',
|
|
98
|
+
department_id: departmentId,
|
|
99
|
+
...this.buildPagination(options?.pageSize || 50, options?.pageToken),
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
if (res.code !== 0) {
|
|
103
|
+
throw new Error(`Failed to get department users: ${res.msg || 'Unknown error'}`);
|
|
104
|
+
}
|
|
105
|
+
const data = res.data || {};
|
|
106
|
+
return {
|
|
107
|
+
users: (data.items || []).map((user) => this.parseUser(user)),
|
|
108
|
+
hasMore: data.has_more || false,
|
|
109
|
+
pageToken: data.page_token,
|
|
110
|
+
};
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Parse user object from API response.
|
|
115
|
+
*/
|
|
116
|
+
parseUser(user) {
|
|
117
|
+
if (!user) {
|
|
118
|
+
return {
|
|
119
|
+
openId: '',
|
|
120
|
+
name: 'Unknown',
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
return {
|
|
124
|
+
openId: user.open_id || user.union_id || '',
|
|
125
|
+
unionId: user.union_id,
|
|
126
|
+
userId: user.user_id,
|
|
127
|
+
name: user.name || user.en_name || 'Unknown',
|
|
128
|
+
enName: user.en_name,
|
|
129
|
+
email: user.email,
|
|
130
|
+
mobile: user.mobile,
|
|
131
|
+
avatar: user.avatar?.avatar_origin,
|
|
132
|
+
department: user.department_name,
|
|
133
|
+
tenantKey: user.tenant_key,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=contact-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contact-service.js","sourceRoot":"","sources":["../../src/services/contact-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { BaseService } from './base-service.js';
|
|
2
|
+
import type { FeishuAPI } from '../feishu/api.js';
|
|
3
|
+
import type { DocumentContent, DocumentSearchResult, ResourceUploadResult, FeishuMessage } from '../types/extended.js';
|
|
4
|
+
/**
|
|
5
|
+
* Document Service
|
|
6
|
+
* Provides document operations: create, read, search, update
|
|
7
|
+
* Supports both docx and wiki documents
|
|
8
|
+
*
|
|
9
|
+
* Aligned with lark-cli docs features:
|
|
10
|
+
* - +create: Create from XML/Markdown content
|
|
11
|
+
* - +fetch: Read with detail/scope support
|
|
12
|
+
* - +update: 8 commands (str_replace, block_insert_after, etc.)
|
|
13
|
+
* - +search: Cloud space search
|
|
14
|
+
*/
|
|
15
|
+
export declare class DocService extends BaseService {
|
|
16
|
+
constructor(api: FeishuAPI);
|
|
17
|
+
/**
|
|
18
|
+
* Create a new document from content.
|
|
19
|
+
* Supports XML (default) and Markdown formats.
|
|
20
|
+
*/
|
|
21
|
+
createDocument(options: {
|
|
22
|
+
content: string;
|
|
23
|
+
format?: 'xml' | 'markdown';
|
|
24
|
+
parentToken?: string;
|
|
25
|
+
parentPosition?: string;
|
|
26
|
+
}): Promise<{
|
|
27
|
+
documentId: string;
|
|
28
|
+
revisionId: number;
|
|
29
|
+
url: string;
|
|
30
|
+
}>;
|
|
31
|
+
/**
|
|
32
|
+
* Create a document from Markdown content (convenience method).
|
|
33
|
+
*/
|
|
34
|
+
createDocumentFromMarkdown(title: string, markdown: string, options?: {
|
|
35
|
+
parentToken?: string;
|
|
36
|
+
}): Promise<{
|
|
37
|
+
documentId: string;
|
|
38
|
+
revisionId: number;
|
|
39
|
+
url: string;
|
|
40
|
+
}>;
|
|
41
|
+
/**
|
|
42
|
+
* Fetch document content with support for detail levels and scopes.
|
|
43
|
+
*
|
|
44
|
+
* @param docToken - Document token or URL
|
|
45
|
+
* @param options - Fetch options
|
|
46
|
+
* - detail: 'simple' | 'with-ids' | 'full' (default: 'simple')
|
|
47
|
+
* - scope: 'outline' | 'section' | 'range' | 'keyword' (default: undefined = full doc)
|
|
48
|
+
* - docFormat: 'xml' | 'markdown' | 'text' (default: 'markdown')
|
|
49
|
+
* - startBlockId: For section/range scope
|
|
50
|
+
* - endBlockId: For range scope
|
|
51
|
+
* - keyword: For keyword scope
|
|
52
|
+
* - maxDepth: For outline scope (heading depth limit)
|
|
53
|
+
*/
|
|
54
|
+
fetchDocument(docToken: string, options?: {
|
|
55
|
+
detail?: 'simple' | 'with-ids' | 'full';
|
|
56
|
+
scope?: 'outline' | 'section' | 'range' | 'keyword';
|
|
57
|
+
docFormat?: 'xml' | 'markdown' | 'text';
|
|
58
|
+
startBlockId?: string;
|
|
59
|
+
endBlockId?: string;
|
|
60
|
+
keyword?: string;
|
|
61
|
+
maxDepth?: number;
|
|
62
|
+
}): Promise<DocumentContent>;
|
|
63
|
+
/**
|
|
64
|
+
* Get document outline (table of contents).
|
|
65
|
+
* Returns heading structure up to specified depth.
|
|
66
|
+
*/
|
|
67
|
+
getDocumentOutline(docToken: string, maxDepth?: number): Promise<Array<{
|
|
68
|
+
level: number;
|
|
69
|
+
text: string;
|
|
70
|
+
blockId: string;
|
|
71
|
+
}>>;
|
|
72
|
+
/**
|
|
73
|
+
* Update document content with various commands.
|
|
74
|
+
*
|
|
75
|
+
* Commands:
|
|
76
|
+
* - str_replace: Find and replace text
|
|
77
|
+
* - block_insert_after: Insert after a block
|
|
78
|
+
* - block_replace: Replace a block
|
|
79
|
+
* - block_delete: Delete block(s)
|
|
80
|
+
* - block_copy_insert_after: Copy blocks and insert after
|
|
81
|
+
* - block_move_after: Move blocks after a position
|
|
82
|
+
* - append: Append to end of document
|
|
83
|
+
* - overwrite: Overwrite entire document
|
|
84
|
+
*/
|
|
85
|
+
updateDocument(docToken: string, command: string, options: {
|
|
86
|
+
content?: string;
|
|
87
|
+
pattern?: string;
|
|
88
|
+
blockId?: string;
|
|
89
|
+
srcBlockIds?: string[];
|
|
90
|
+
docFormat?: 'xml' | 'markdown';
|
|
91
|
+
}): Promise<{
|
|
92
|
+
revisionId: number;
|
|
93
|
+
}>;
|
|
94
|
+
/**
|
|
95
|
+
* Search documents in cloud space.
|
|
96
|
+
* Supports advanced query syntax.
|
|
97
|
+
*/
|
|
98
|
+
searchDocuments(query: string, options?: {
|
|
99
|
+
pageSize?: number;
|
|
100
|
+
pageToken?: string;
|
|
101
|
+
filters?: {
|
|
102
|
+
docTypes?: string[];
|
|
103
|
+
creatorIds?: string[];
|
|
104
|
+
folderTokens?: string[];
|
|
105
|
+
openTime?: {
|
|
106
|
+
start?: string;
|
|
107
|
+
end?: string;
|
|
108
|
+
};
|
|
109
|
+
createTime?: {
|
|
110
|
+
start?: string;
|
|
111
|
+
end?: string;
|
|
112
|
+
};
|
|
113
|
+
onlyTitle?: boolean;
|
|
114
|
+
onlyComment?: boolean;
|
|
115
|
+
};
|
|
116
|
+
}): Promise<DocumentSearchResult>;
|
|
117
|
+
/**
|
|
118
|
+
* Share a document to a chat as an interactive card.
|
|
119
|
+
*/
|
|
120
|
+
shareDocument(chatId: string, docToken: string, options?: {
|
|
121
|
+
description?: string;
|
|
122
|
+
docType?: 'doc' | 'docx' | 'wiki' | 'sheet';
|
|
123
|
+
}): Promise<FeishuMessage>;
|
|
124
|
+
/**
|
|
125
|
+
* Upload a resource (image/file) to a document.
|
|
126
|
+
*/
|
|
127
|
+
uploadResource(filePath: string, fileName?: string): Promise<ResourceUploadResult>;
|
|
128
|
+
private parseSearchResult;
|
|
129
|
+
private mapDocType;
|
|
130
|
+
private guessMimeType;
|
|
131
|
+
private parseContentToBlocks;
|
|
132
|
+
private markdownToBlocks;
|
|
133
|
+
private xmlToBlocks;
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=doc-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-service.d.ts","sourceRoot":"","sources":["../../src/services/doc-service.ts"],"names":[],"mappings":"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"}
|