@clowder-ai/enterprise-workflow 0.0.0-stage → 0.1.0-alpha.2
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.en.md +38 -0
- package/README.md +19 -2
- package/assets/icon.svg +5 -0
- package/dist/LarkActionService.d.ts +117 -0
- package/dist/LarkActionService.d.ts.map +1 -0
- package/dist/LarkActionService.js +189 -0
- package/dist/LarkActionService.js.map +1 -0
- package/dist/LarkCliExecutor.d.ts +83 -0
- package/dist/LarkCliExecutor.d.ts.map +1 -0
- package/dist/LarkCliExecutor.js +180 -0
- package/dist/LarkCliExecutor.js.map +1 -0
- package/dist/WeComActionService.d.ts +75 -0
- package/dist/WeComActionService.d.ts.map +1 -0
- package/dist/WeComActionService.js +183 -0
- package/dist/WeComActionService.js.map +1 -0
- package/dist/WeComCliExecutor.d.ts +61 -0
- package/dist/WeComCliExecutor.d.ts.map +1 -0
- package/dist/WeComCliExecutor.js +136 -0
- package/dist/WeComCliExecutor.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/lark-types.d.ts +120 -0
- package/dist/lark-types.d.ts.map +1 -0
- package/dist/lark-types.js +18 -0
- package/dist/lark-types.js.map +1 -0
- package/dist/logger.d.ts +13 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +22 -0
- package/dist/logger.js.map +1 -0
- package/dist/plugin-entrypoint.d.ts +38 -0
- package/dist/plugin-entrypoint.d.ts.map +1 -0
- package/dist/plugin-entrypoint.js +180 -0
- package/dist/plugin-entrypoint.js.map +1 -0
- package/dist/wecom-types.d.ts +85 -0
- package/dist/wecom-types.d.ts.map +1 -0
- package/dist/wecom-types.js +8 -0
- package/dist/wecom-types.js.map +1 -0
- package/npm-shrinkwrap.json +687 -0
- package/package.json +59 -4
- package/plugin.yaml +220 -0
- package/skills/enterprise-workflow/SKILL.md +209 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* F162 Phase B: Lark/Feishu CLI type definitions.
|
|
3
|
+
*
|
|
4
|
+
* lark-cli is a Go-based CLI (@larksuite/cli). Output is raw JSON.
|
|
5
|
+
*
|
|
6
|
+
* Envelope (observed 2026-04-17 against v1.x user-token flow):
|
|
7
|
+
* success: { ok: true, identity: "user"|"bot", data: { ... } }
|
|
8
|
+
* failure: { ok: false, identity: "user"|"bot", error: { type, code, message, hint } }
|
|
9
|
+
*
|
|
10
|
+
* The CLI itself always exits 0; successful vs failed API calls are distinguished
|
|
11
|
+
* solely by the `ok` field in the JSON envelope.
|
|
12
|
+
*
|
|
13
|
+
* NOTE: lark-cli returns *flattened* fields under `data` (e.g. `doc_id`, `doc_url`),
|
|
14
|
+
* not the Lark Open API nested shape (`document.document_id`). Keep types aligned
|
|
15
|
+
* with the CLI's output — that's what we actually consume.
|
|
16
|
+
*/
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=lark-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lark-types.js","sourceRoot":"","sources":["../src/lark-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG"}
|
package/dist/logger.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { FeatureContext } from '@clowder-ai/plugin-sdk';
|
|
2
|
+
export type EnterpriseLogMethod = {
|
|
3
|
+
(message: string): void;
|
|
4
|
+
(fields: unknown, message: string): void;
|
|
5
|
+
};
|
|
6
|
+
export interface EnterpriseLogger {
|
|
7
|
+
readonly debug: EnterpriseLogMethod;
|
|
8
|
+
readonly info: EnterpriseLogMethod;
|
|
9
|
+
readonly warn: EnterpriseLogMethod;
|
|
10
|
+
readonly error: EnterpriseLogMethod;
|
|
11
|
+
}
|
|
12
|
+
export declare function featureLogger(context: FeatureContext): EnterpriseLogger;
|
|
13
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;CACrC;AAUD,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,gBAAgB,CAcvE"}
|
package/dist/logger.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
function fields(value) {
|
|
2
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value)
|
|
3
|
+
? value
|
|
4
|
+
: value === undefined
|
|
5
|
+
? undefined
|
|
6
|
+
: { value };
|
|
7
|
+
}
|
|
8
|
+
export function featureLogger(context) {
|
|
9
|
+
const method = (level) => (first, second) => {
|
|
10
|
+
if (typeof first === 'string' && second === undefined)
|
|
11
|
+
context.log(level, first);
|
|
12
|
+
else
|
|
13
|
+
context.log(level, second ?? 'Enterprise workflow event', fields(first));
|
|
14
|
+
};
|
|
15
|
+
return {
|
|
16
|
+
debug: method('debug'),
|
|
17
|
+
info: method('info'),
|
|
18
|
+
warn: method('warn'),
|
|
19
|
+
error: method('error'),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAcA,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAC,KAA0C;QAC5C,CAAC,CAAC,KAAK,KAAK,SAAS;YACnB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAuB;IACnD,MAAM,MAAM,GAAG,CAAC,KAA0C,EAAuB,EAAE,CAAC,CAClF,KAAuB,EACvB,MAAe,EACf,EAAE;QACF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;;YAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,2BAA2B,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC;IACF,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;KACvB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type FeatureContext, type PluginModuleEntrypoint } from '@clowder-ai/plugin-sdk';
|
|
2
|
+
import { type CreateBaseOpts as LarkCreateBaseOpts, type CreateCalendarEventOpts as LarkCreateCalendarEventOpts, type CreateDocOpts as LarkCreateDocOpts, type CreateSlidesOpts as LarkCreateSlidesOpts, type CreateTaskOpts as LarkCreateTaskOpts, type GoldenChainOpts as LarkGoldenChainOpts } from './LarkActionService.js';
|
|
3
|
+
import { type CreateDocOpts as WeComCreateDocOpts, type CreateMeetingOpts, type CreateSmartTableOpts, type CreateTodoOpts, type GoldenChainOpts as WeComGoldenChainOpts } from './WeComActionService.js';
|
|
4
|
+
import type { LarkBaseHandle, LarkCalendarEventHandle, LarkDocHandle, LarkGoldenChainResult, LarkSlideHandle, LarkTaskHandle } from './lark-types.js';
|
|
5
|
+
import type { DocHandle, GoldenChainResult, MeetingHandle, TodoHandle } from './wecom-types.js';
|
|
6
|
+
export type EnterpriseToolErrorCode = 'INVALID_INPUT' | 'VENDOR_API_ERROR' | 'CLI_UNAVAILABLE' | 'CLI_PROTOCOL_ERROR';
|
|
7
|
+
/** Stable package-side error classification consumed as one failed plugin_call. */
|
|
8
|
+
export declare class EnterpriseToolError extends Error {
|
|
9
|
+
readonly code: EnterpriseToolErrorCode;
|
|
10
|
+
readonly status: 400 | 500 | 502 | 503;
|
|
11
|
+
readonly details?: Readonly<Record<string, unknown>> | undefined;
|
|
12
|
+
constructor(code: EnterpriseToolErrorCode, message: string, status: 400 | 500 | 502 | 503, details?: Readonly<Record<string, unknown>> | undefined);
|
|
13
|
+
}
|
|
14
|
+
export interface WeComActions {
|
|
15
|
+
createDoc(input: WeComCreateDocOpts): Promise<DocHandle>;
|
|
16
|
+
createSmartTable(input: CreateSmartTableOpts): Promise<DocHandle>;
|
|
17
|
+
createTodo(input: CreateTodoOpts): Promise<TodoHandle>;
|
|
18
|
+
createMeeting(input: CreateMeetingOpts): Promise<MeetingHandle>;
|
|
19
|
+
goldenChain(input: WeComGoldenChainOpts): Promise<GoldenChainResult>;
|
|
20
|
+
}
|
|
21
|
+
export interface LarkActions {
|
|
22
|
+
createDoc(input: LarkCreateDocOpts): Promise<LarkDocHandle>;
|
|
23
|
+
createBase(input: LarkCreateBaseOpts): Promise<LarkBaseHandle>;
|
|
24
|
+
createTask(input: LarkCreateTaskOpts): Promise<LarkTaskHandle>;
|
|
25
|
+
createCalendarEvent(input: LarkCreateCalendarEventOpts): Promise<LarkCalendarEventHandle>;
|
|
26
|
+
createSlides(input: LarkCreateSlidesOpts): Promise<LarkSlideHandle>;
|
|
27
|
+
goldenChain(input: LarkGoldenChainOpts): Promise<LarkGoldenChainResult & {
|
|
28
|
+
slides?: LarkSlideHandle;
|
|
29
|
+
}>;
|
|
30
|
+
}
|
|
31
|
+
export interface EnterpriseWorkflowPluginModuleOptions {
|
|
32
|
+
readonly createWeComActions?: (executable: string, context: FeatureContext) => WeComActions;
|
|
33
|
+
readonly createLarkActions?: (executable: string, context: FeatureContext) => LarkActions;
|
|
34
|
+
}
|
|
35
|
+
export declare function createEnterpriseWorkflowPluginModule(options?: EnterpriseWorkflowPluginModuleOptions): PluginModuleEntrypoint;
|
|
36
|
+
declare const _default: PluginModuleEntrypoint;
|
|
37
|
+
export default _default;
|
|
38
|
+
//# sourceMappingURL=plugin-entrypoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-entrypoint.d.ts","sourceRoot":"","sources":["../src/plugin-entrypoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import { definePlugin, definePluginModule, } from '@clowder-ai/plugin-sdk';
|
|
3
|
+
import { LarkActionService, } from './LarkActionService.js';
|
|
4
|
+
import { LarkApiError, LarkCliExecutor, LarkCliProtocolError, LarkCliUnavailableError, } from './LarkCliExecutor.js';
|
|
5
|
+
import { WeComActionService, } from './WeComActionService.js';
|
|
6
|
+
import { WeComApiError, WeComCliExecutor, WeComCliUnavailableError, } from './WeComCliExecutor.js';
|
|
7
|
+
import { featureLogger } from './logger.js';
|
|
8
|
+
const require = createRequire(import.meta.url);
|
|
9
|
+
const Ajv = require('ajv');
|
|
10
|
+
/** Stable package-side error classification consumed as one failed plugin_call. */
|
|
11
|
+
export class EnterpriseToolError extends Error {
|
|
12
|
+
code;
|
|
13
|
+
status;
|
|
14
|
+
details;
|
|
15
|
+
constructor(code, message, status, details) {
|
|
16
|
+
super(message);
|
|
17
|
+
this.code = code;
|
|
18
|
+
this.status = status;
|
|
19
|
+
this.details = details;
|
|
20
|
+
this.name = 'EnterpriseToolError';
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function requiredString(value, key) {
|
|
24
|
+
if (typeof value !== 'string' || value.trim().length === 0) {
|
|
25
|
+
throw new TypeError(`${key} must be a configured non-empty string`);
|
|
26
|
+
}
|
|
27
|
+
return value;
|
|
28
|
+
}
|
|
29
|
+
function toolSchema(manifest, id) {
|
|
30
|
+
const contribution = manifest.contributions?.find((item) => item.type === 'tool' && item.id === id);
|
|
31
|
+
if (contribution?.type !== 'tool')
|
|
32
|
+
throw new TypeError(`tool contribution ${id} is missing`);
|
|
33
|
+
return contribution.inputSchema;
|
|
34
|
+
}
|
|
35
|
+
function assertInput(validate, value, platform) {
|
|
36
|
+
if (validate(value))
|
|
37
|
+
return value;
|
|
38
|
+
throw new EnterpriseToolError('INVALID_INPUT', `${platform} action input is invalid`, 400, {
|
|
39
|
+
issues: (validate.errors ?? []).map(({ instancePath, keyword, message }) => ({ instancePath, keyword, message })),
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function mapToolError(error) {
|
|
43
|
+
if (error instanceof EnterpriseToolError)
|
|
44
|
+
throw error;
|
|
45
|
+
if (error instanceof WeComApiError) {
|
|
46
|
+
throw new EnterpriseToolError('VENDOR_API_ERROR', error.message, 502, {
|
|
47
|
+
platform: 'wecom', errcode: error.errcode, errmsg: error.errmsg,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
if (error instanceof LarkApiError) {
|
|
51
|
+
throw new EnterpriseToolError('VENDOR_API_ERROR', error.message, 502, {
|
|
52
|
+
platform: 'lark', code: error.code, type: error.type, ...(error.hint ? { hint: error.hint } : {}),
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
if (error instanceof WeComCliUnavailableError || error instanceof LarkCliUnavailableError) {
|
|
56
|
+
throw new EnterpriseToolError('CLI_UNAVAILABLE', error.message, 503);
|
|
57
|
+
}
|
|
58
|
+
if (error instanceof LarkCliProtocolError) {
|
|
59
|
+
throw new EnterpriseToolError('CLI_PROTOCOL_ERROR', error.message, 500);
|
|
60
|
+
}
|
|
61
|
+
throw error;
|
|
62
|
+
}
|
|
63
|
+
async function invokeWeCom(service, input) {
|
|
64
|
+
try {
|
|
65
|
+
switch (input.action) {
|
|
66
|
+
case 'create_doc': {
|
|
67
|
+
const { docName, content } = input;
|
|
68
|
+
return await service.createDoc({ docName, ...(content === undefined ? {} : { content }) });
|
|
69
|
+
}
|
|
70
|
+
case 'create_smart_table': {
|
|
71
|
+
const { tableName, fields, records } = input;
|
|
72
|
+
return await service.createSmartTable({ tableName, fields, records });
|
|
73
|
+
}
|
|
74
|
+
case 'create_todo': {
|
|
75
|
+
const { content, followerUserIds, remindTime } = input;
|
|
76
|
+
return await service.createTodo({ content, followerUserIds, ...(remindTime === undefined ? {} : { remindTime }) });
|
|
77
|
+
}
|
|
78
|
+
case 'create_meeting': {
|
|
79
|
+
const { title, startDatetime, durationSeconds, inviteeUserIds } = input;
|
|
80
|
+
return await service.createMeeting({ title, startDatetime, durationSeconds, inviteeUserIds });
|
|
81
|
+
}
|
|
82
|
+
case 'golden_chain': {
|
|
83
|
+
const { action: _, ...options } = input;
|
|
84
|
+
return await service.goldenChain(options);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
return mapToolError(error);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
async function invokeLark(service, input) {
|
|
93
|
+
try {
|
|
94
|
+
switch (input.action) {
|
|
95
|
+
case 'create_doc': {
|
|
96
|
+
const { title, markdown, folderToken } = input;
|
|
97
|
+
return await service.createDoc({
|
|
98
|
+
title,
|
|
99
|
+
...(markdown === undefined ? {} : { markdown }),
|
|
100
|
+
...(folderToken === undefined ? {} : { folderToken }),
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
case 'create_base': {
|
|
104
|
+
const { name, folderToken, timeZone } = input;
|
|
105
|
+
return await service.createBase({
|
|
106
|
+
name,
|
|
107
|
+
...(folderToken === undefined ? {} : { folderToken }),
|
|
108
|
+
...(timeZone === undefined ? {} : { timeZone }),
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
case 'create_task': {
|
|
112
|
+
const { summary, description, assigneeOpenId, due, idempotencyKey } = input;
|
|
113
|
+
return await service.createTask({
|
|
114
|
+
summary,
|
|
115
|
+
...(description === undefined ? {} : { description }),
|
|
116
|
+
...(assigneeOpenId === undefined ? {} : { assigneeOpenId }),
|
|
117
|
+
...(due === undefined ? {} : { due }),
|
|
118
|
+
...(idempotencyKey === undefined ? {} : { idempotencyKey }),
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
case 'create_calendar_event': {
|
|
122
|
+
const { summary, description, start, end, attendeeOpenIds, calendarId, rrule } = input;
|
|
123
|
+
return await service.createCalendarEvent({
|
|
124
|
+
summary,
|
|
125
|
+
start,
|
|
126
|
+
end,
|
|
127
|
+
...(description === undefined ? {} : { description }),
|
|
128
|
+
...(attendeeOpenIds === undefined ? {} : { attendeeOpenIds }),
|
|
129
|
+
...(calendarId === undefined ? {} : { calendarId }),
|
|
130
|
+
...(rrule === undefined ? {} : { rrule }),
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
case 'create_slides': {
|
|
134
|
+
const { title, folderToken } = input;
|
|
135
|
+
return await service.createSlides({ title, ...(folderToken === undefined ? {} : { folderToken }) });
|
|
136
|
+
}
|
|
137
|
+
case 'golden_chain': {
|
|
138
|
+
const { action: _, ...options } = input;
|
|
139
|
+
return await service.goldenChain(options);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
return mapToolError(error);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
export function createEnterpriseWorkflowPluginModule(options = {}) {
|
|
148
|
+
return definePluginModule((candidate) => {
|
|
149
|
+
const validated = definePlugin({ manifest: candidate });
|
|
150
|
+
const ajv = new Ajv({ allErrors: true, strict: true });
|
|
151
|
+
const validateWeCom = ajv.compile(toolSchema(validated.manifest, 'wecom-actions'));
|
|
152
|
+
const validateLark = ajv.compile(toolSchema(validated.manifest, 'lark-actions'));
|
|
153
|
+
return definePlugin({
|
|
154
|
+
manifest: validated.manifest,
|
|
155
|
+
activate: {
|
|
156
|
+
'enterprise-actions': async (context) => {
|
|
157
|
+
const [wecomPath, larkPath] = await Promise.all([
|
|
158
|
+
context.config.get('wecomCliPath'),
|
|
159
|
+
context.config.get('larkCliPath'),
|
|
160
|
+
]);
|
|
161
|
+
const wecomExecutable = requiredString(wecomPath, 'wecomCliPath');
|
|
162
|
+
const larkExecutable = requiredString(larkPath, 'larkCliPath');
|
|
163
|
+
const logger = featureLogger(context);
|
|
164
|
+
const wecom = options.createWeComActions?.(wecomExecutable, context)
|
|
165
|
+
?? new WeComActionService(new WeComCliExecutor(logger, wecomExecutable), logger);
|
|
166
|
+
const lark = options.createLarkActions?.(larkExecutable, context)
|
|
167
|
+
?? new LarkActionService(new LarkCliExecutor(logger, larkExecutable), logger);
|
|
168
|
+
return {
|
|
169
|
+
actions: {
|
|
170
|
+
'wecom.action': (input) => invokeWeCom(wecom, assertInput(validateWeCom, input, 'WeCom')),
|
|
171
|
+
'lark.action': (input) => invokeLark(lark, assertInput(validateLark, input, 'Lark')),
|
|
172
|
+
},
|
|
173
|
+
};
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
export default createEnterpriseWorkflowPluginModule();
|
|
180
|
+
//# sourceMappingURL=plugin-entrypoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-entrypoint.js","sourceRoot":"","sources":["../src/plugin-entrypoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* F162: WeChat Work (企业微信) CLI type definitions.
|
|
3
|
+
*
|
|
4
|
+
* All wecom-cli responses share a base shape: { errcode, errmsg, ...data }.
|
|
5
|
+
* errcode === 0 means success; anything else is an API error from WeChat Work backend.
|
|
6
|
+
*/
|
|
7
|
+
/** Base response from wecom-cli commands */
|
|
8
|
+
export interface WeComBaseResponse {
|
|
9
|
+
errcode: number;
|
|
10
|
+
errmsg: string;
|
|
11
|
+
}
|
|
12
|
+
/** wecom-cli doc create_doc response */
|
|
13
|
+
export interface WeComDocResponse extends WeComBaseResponse {
|
|
14
|
+
url: string;
|
|
15
|
+
docid: string;
|
|
16
|
+
}
|
|
17
|
+
/** wecom-cli todo create_todo response */
|
|
18
|
+
export interface WeComTodoResponse extends WeComBaseResponse {
|
|
19
|
+
todo_id: string;
|
|
20
|
+
}
|
|
21
|
+
/** wecom-cli meeting create_meeting response */
|
|
22
|
+
export interface WeComMeetingResponse extends WeComBaseResponse {
|
|
23
|
+
meetingid: string;
|
|
24
|
+
meeting_code: string;
|
|
25
|
+
meeting_link: string;
|
|
26
|
+
}
|
|
27
|
+
/** wecom-cli doc smartsheet_get_sheet response */
|
|
28
|
+
export interface WeComSmartTableSheetResponse extends WeComBaseResponse {
|
|
29
|
+
sheet_list: Array<{
|
|
30
|
+
sheet_id: string;
|
|
31
|
+
title: string;
|
|
32
|
+
}>;
|
|
33
|
+
}
|
|
34
|
+
/** wecom-cli doc smartsheet_get_fields response */
|
|
35
|
+
export interface WeComSmartTableGetFieldsResponse extends WeComBaseResponse {
|
|
36
|
+
fields: Array<{
|
|
37
|
+
field_id: string;
|
|
38
|
+
field_title: string;
|
|
39
|
+
field_type: string;
|
|
40
|
+
}>;
|
|
41
|
+
}
|
|
42
|
+
/** wecom-cli doc smartsheet_add_fields response */
|
|
43
|
+
export interface WeComSmartTableFieldsResponse extends WeComBaseResponse {
|
|
44
|
+
fields: Array<{
|
|
45
|
+
field_id: string;
|
|
46
|
+
field_title: string;
|
|
47
|
+
}>;
|
|
48
|
+
}
|
|
49
|
+
/** wecom-cli doc smartsheet_add_records response */
|
|
50
|
+
export interface WeComSmartTableRecordsResponse extends WeComBaseResponse {
|
|
51
|
+
records: Array<{
|
|
52
|
+
record_id: string;
|
|
53
|
+
}>;
|
|
54
|
+
}
|
|
55
|
+
/** wecom-cli contact get_userlist response */
|
|
56
|
+
export interface WeComUserListResponse extends WeComBaseResponse {
|
|
57
|
+
userlist: Array<{
|
|
58
|
+
userid: string;
|
|
59
|
+
name: string;
|
|
60
|
+
alias?: string;
|
|
61
|
+
}>;
|
|
62
|
+
}
|
|
63
|
+
export interface DocHandle {
|
|
64
|
+
docId: string;
|
|
65
|
+
url: string;
|
|
66
|
+
docName: string;
|
|
67
|
+
}
|
|
68
|
+
export interface TodoHandle {
|
|
69
|
+
todoId: string;
|
|
70
|
+
content: string;
|
|
71
|
+
}
|
|
72
|
+
export interface MeetingHandle {
|
|
73
|
+
meetingId: string;
|
|
74
|
+
meetingCode: string;
|
|
75
|
+
meetingLink: string;
|
|
76
|
+
title: string;
|
|
77
|
+
}
|
|
78
|
+
export interface GoldenChainResult {
|
|
79
|
+
doc: DocHandle;
|
|
80
|
+
smartTable: DocHandle;
|
|
81
|
+
todos: TodoHandle[];
|
|
82
|
+
meeting: MeetingHandle;
|
|
83
|
+
summary: string;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=wecom-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wecom-types.d.ts","sourceRoot":"","sources":["../src/wecom-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,4CAA4C;AAC5C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,wCAAwC;AACxC,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,0CAA0C;AAC1C,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,gDAAgD;AAChD,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,kDAAkD;AAClD,MAAM,WAAW,4BAA6B,SAAQ,iBAAiB;IACrE,UAAU,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AAED,mDAAmD;AACnD,MAAM,WAAW,gCAAiC,SAAQ,iBAAiB;IACzE,MAAM,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9E;AAED,mDAAmD;AACnD,MAAM,WAAW,6BAA8B,SAAQ,iBAAiB;IACtE,MAAM,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1D;AAED,oDAAoD;AACpD,MAAM,WAAW,8BAA+B,SAAQ,iBAAiB;IACvE,OAAO,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvC;AAED,8CAA8C;AAC9C,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D,QAAQ,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnE;AAID,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,SAAS,CAAC;IACf,UAAU,EAAE,SAAS,CAAC;IACtB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* F162: WeChat Work (企业微信) CLI type definitions.
|
|
3
|
+
*
|
|
4
|
+
* All wecom-cli responses share a base shape: { errcode, errmsg, ...data }.
|
|
5
|
+
* errcode === 0 means success; anything else is an API error from WeChat Work backend.
|
|
6
|
+
*/
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=wecom-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wecom-types.js","sourceRoot":"","sources":["../src/wecom-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|