botmux 2.49.0 → 2.50.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.
@@ -0,0 +1,149 @@
1
+ export declare const BOTMUX_REDIRECT_URL = "http://127.0.0.1:9768/callback";
2
+ export interface StoredCookie {
3
+ name: string;
4
+ value: string;
5
+ domain: string;
6
+ path: string;
7
+ secure: boolean;
8
+ httpOnly: boolean;
9
+ hostOnly: boolean;
10
+ expiresAt?: number;
11
+ sameSite?: string;
12
+ }
13
+ export interface ScopeManifest {
14
+ scopes?: {
15
+ tenant?: string[];
16
+ user?: string[];
17
+ };
18
+ }
19
+ export interface OpenPlatformScopeEntry {
20
+ id: string;
21
+ name: string;
22
+ bucket?: 'tenant' | 'user';
23
+ }
24
+ export interface MappedScopeIds {
25
+ tenantScopeIds: string[];
26
+ userScopeIds: string[];
27
+ missingTenantScopes: string[];
28
+ missingUserScopes: string[];
29
+ }
30
+ export type OpenPlatformAutomationResult = {
31
+ ok: true;
32
+ sessionFile: string;
33
+ sessionSource: FeishuWebSessionSource;
34
+ cookieCount: number;
35
+ scopeCount: number;
36
+ skippedScopeCount: number;
37
+ scopeWarning?: string;
38
+ versionId?: string;
39
+ } | {
40
+ ok: false;
41
+ reason: 'unsupported_brand' | 'missing_session' | 'invalid_session' | 'login_failed' | 'qr_expired' | 'timeout' | 'missing_csrf' | 'scope_mapping_failed' | 'network' | 'api_error';
42
+ message: string;
43
+ sessionFile?: string;
44
+ };
45
+ export interface OpenPlatformAutomationOptions {
46
+ appId: string;
47
+ brand?: 'feishu' | 'lark';
48
+ sessionFilePath?: string;
49
+ bytedcliFallbackSessionFilePath?: string;
50
+ disableBytedcliFallback?: boolean;
51
+ fetchImpl?: typeof fetch;
52
+ scopeManifest?: ScopeManifest;
53
+ pollIntervalMs?: number;
54
+ maxWaitMs?: number;
55
+ onQrCode?: (info: {
56
+ qrText: string;
57
+ qrPayload: string;
58
+ }) => void | Promise<void>;
59
+ onStatus?: (message: string) => void | Promise<void>;
60
+ }
61
+ export type FeishuWebSessionSource = 'botmux_cache' | 'qr_login' | 'bytedcli_fallback';
62
+ export type FeishuWebSessionFailureReason = 'login_failed' | 'qr_expired' | 'timeout' | 'network' | 'invalid_session';
63
+ export type FeishuWebSessionPrepareResult = {
64
+ ok: true;
65
+ sessionFile: string;
66
+ source: FeishuWebSessionSource;
67
+ cookies: StoredCookie[];
68
+ cookieCount: number;
69
+ } | {
70
+ ok: false;
71
+ reason: FeishuWebSessionFailureReason;
72
+ message: string;
73
+ sessionFile: string;
74
+ fallbackSessionFile?: string;
75
+ };
76
+ export interface FeishuWebSessionOptions {
77
+ sessionFilePath?: string;
78
+ bytedcliFallbackSessionFilePath?: string;
79
+ disableBytedcliFallback?: boolean;
80
+ fetchImpl?: typeof fetch;
81
+ pollIntervalMs?: number;
82
+ maxWaitMs?: number;
83
+ onQrCode?: (info: {
84
+ qrText: string;
85
+ qrPayload: string;
86
+ }) => void | Promise<void>;
87
+ onStatus?: (message: string) => void | Promise<void>;
88
+ }
89
+ export declare function parseSetupOpenPlatformAutoFlag(argv: string[]): boolean;
90
+ export declare function botmuxFeishuSessionFilePath(configDir?: string): string;
91
+ export declare function bytedcliFeishuSessionFilePath(homeDir?: string): string;
92
+ export declare function readStoredCookiesFromSessionFile(filePath: string): StoredCookie[] | null;
93
+ export declare function readStoredCookiesFromBytedcliSession(filePath: string): StoredCookie[] | null;
94
+ export declare function writeStoredCookiesToSessionFile(filePath: string, cookies: StoredCookie[]): void;
95
+ export declare function getCookieHeader(cookies: StoredCookie[], requestUrl: string): string;
96
+ export declare function extractOpenPlatformCsrfToken(html: string): string | null;
97
+ export declare function extractOpenPlatformScopeEntries(payload: unknown): OpenPlatformScopeEntry[];
98
+ export declare function mapManifestScopesToOpenPlatformIds(manifest: ScopeManifest, catalog: OpenPlatformScopeEntry[]): MappedScopeIds;
99
+ export declare function buildScopeUpdatePayload(appId: string, mapped: Pick<MappedScopeIds, 'tenantScopeIds' | 'userScopeIds'>): {
100
+ clientId: string;
101
+ appScopeIDs: string[];
102
+ userScopeIDs: string[];
103
+ scopeIds: never[];
104
+ operation: string;
105
+ isDeveloperPanel: boolean;
106
+ };
107
+ export declare function buildSafeSettingPayload(appId: string): {
108
+ clientId: string;
109
+ redirectURL: string[];
110
+ };
111
+ export declare function buildAppVersionCreatePayload(appVersion: string, visibleMemberIds?: string[]): {
112
+ appVersion: string;
113
+ mobileDefaultAbility: string;
114
+ pcDefaultAbility: string;
115
+ changeLog: string;
116
+ visibleSuggest: {
117
+ departments: never[];
118
+ members: string[];
119
+ groups: never[];
120
+ isAll: number;
121
+ };
122
+ applyReasonConfig: {
123
+ apiPrivilegeNeedReason: boolean;
124
+ contactPrivilegeNeedReason: boolean;
125
+ dataPrivilegeReasonMap: {};
126
+ visibleScopeNeedReason: boolean;
127
+ apiPrivilegeReasonMap: {};
128
+ contactPrivilegeReason: string;
129
+ isDataPrivilegeExpandMap: {};
130
+ visibleScopeReason: string;
131
+ dataPrivilegeNeedReason: boolean;
132
+ isAutoAudit: boolean;
133
+ isContactExpand: boolean;
134
+ };
135
+ b2cShareSuggest: boolean;
136
+ autoPublish: boolean;
137
+ remark: string;
138
+ blackVisibleSuggest: {
139
+ departments: never[];
140
+ members: never[];
141
+ groups: never[];
142
+ isAll: number;
143
+ };
144
+ };
145
+ export declare function buildFeishuQrPayload(token: string): string;
146
+ export declare function mapFeishuQrPollingStatus(status: number | null): string;
147
+ export declare function prepareFeishuWebSession(options?: FeishuWebSessionOptions): Promise<FeishuWebSessionPrepareResult>;
148
+ export declare function automateOpenPlatformSetup(options: OpenPlatformAutomationOptions): Promise<OpenPlatformAutomationResult>;
149
+ //# sourceMappingURL=open-platform-automation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-platform-automation.d.ts","sourceRoot":"","sources":["../../src/setup/open-platform-automation.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,mBAAmB,mCAAmC,CAAC;AAYpE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,4BAA4B,GACpC;IACE,EAAE,EAAE,IAAI,CAAC;IACT,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,sBAAsB,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EACF,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,GACjB,cAAc,GACd,YAAY,GACZ,SAAS,GACT,cAAc,GACd,sBAAsB,GACtB,SAAS,GACT,WAAW,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEN,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAGD,MAAM,MAAM,sBAAsB,GAAG,cAAc,GAAG,UAAU,GAAG,mBAAmB,CAAC;AACvF,MAAM,MAAM,6BAA6B,GAAG,cAAc,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,iBAAiB,CAAC;AAEtH,MAAM,MAAM,6BAA6B,GACrC;IACE,EAAE,EAAE,IAAI,CAAC;IACT,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,6BAA6B,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEN,MAAM,WAAW,uBAAuB;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAGD,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAOtE;AAED,wBAAgB,2BAA2B,CAAC,SAAS,SAA6B,GAAG,MAAM,CAE1F;AAED,wBAAgB,6BAA6B,CAAC,OAAO,SAAY,GAAG,MAAM,CAEzE;AAED,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,GAAG,IAAI,CAYxF;AAED,wBAAgB,oCAAoC,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,GAAG,IAAI,CAE5F;AAED,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CA2B/F;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAWnF;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKxE;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,GAAG,sBAAsB,EAAE,CAU1F;AAED,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,sBAAsB,EAAE,GAChC,cAAc,CAShB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,gBAAgB,GAAG,cAAc,CAAC;;;;;;;EASrH;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM;;;EAKpD;AAED,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAM,EAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmC/F;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAItE;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,6BAA6B,CAAC,CAmDxC;AAED,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,4BAA4B,CAAC,CA+IvC"}