weaver-work-cli 0.1.33 → 0.1.38
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/dist/chunks/{archive-FVFY6GZN.js → archive-PDV724YK.js} +5 -4
- package/dist/chunks/{archive-oa-NW3OD4UV.js → archive-oa-4XE4MNXQ.js} +4 -3
- package/dist/chunks/{asset-7QJKMIDV.js → asset-PDL2QE2N.js} +8 -7
- package/dist/chunks/{attachment-content-OSAVA6K3.js → attachment-content-MDDGOE5E.js} +3 -3
- package/dist/chunks/{blog-I7SDPNW4.js → blog-UYR3EUXW.js} +5 -4
- package/dist/chunks/{caizhilian-O37ZIQNY.js → caizhilian-LG2X5NMF.js} +5 -4
- package/dist/chunks/{calendar-7KXE4ED3.js → calendar-FG4BAZHE.js} +4 -3
- package/dist/chunks/{chunk-Q6LWB5HX.js → chunk-6FTTSA45.js} +4 -3
- package/dist/chunks/{chunk-MQ2I5AA3.js → chunk-6LTFIFLM.js} +3 -2
- package/dist/chunks/{chunk-WRRJ4GG2.js → chunk-CORFRD7Q.js} +4 -3
- package/dist/chunks/{chunk-WY74UBJ6.js → chunk-DMV2TOMH.js} +2194 -240
- package/dist/chunks/{chunk-MEEFGWTM.js → chunk-ELYDWBZJ.js} +135 -10
- package/dist/chunks/{chunk-EEWPQE3O.js → chunk-FUWVHMVV.js} +7 -6
- package/dist/chunks/{chunk-HEL5XTYI.js → chunk-GGJFMNJM.js} +26 -4
- package/dist/chunks/{chunk-KAS45KNR.js → chunk-IZUDA353.js} +1 -1
- package/dist/chunks/{chunk-2FLWXFVS.js → chunk-J7USS3ED.js} +4 -4
- package/dist/chunks/{chunk-IHUYP6LO.js → chunk-JSMFPO43.js} +1 -1
- package/dist/chunks/{chunk-RBGOMK4Y.js → chunk-KKRL3REV.js} +5 -4
- package/dist/chunks/{chunk-OCU4RLHC.js → chunk-NI6GIPIM.js} +195 -36
- package/dist/chunks/{chunk-PRHJGPMA.js → chunk-NR6RKXPA.js} +2 -2
- package/dist/chunks/{chunk-D223PTXU.js → chunk-OJQUJZQF.js} +33 -7
- package/dist/chunks/{chunk-ILMBNVSG.js → chunk-UJJD4QWF.js} +4 -3
- package/dist/chunks/{chunk-6ATGWRZM.js → chunk-UZZBA6PV.js} +177 -14
- package/dist/chunks/{chunk-GFPXQIY2.js → chunk-VRYHGG6O.js} +2 -2
- package/dist/chunks/{chunk-NHA62QD7.js → chunk-XJY7G4DD.js} +3 -3
- package/dist/chunks/{chunk-VBCFFFGT.js → chunk-Z32KWY6G.js} +4 -1
- package/dist/chunks/{conflict-SFNEVJY5.js → conflict-BQZEQ4SP.js} +2 -2
- package/dist/chunks/contract-XIRAFTEV.js +9111 -0
- package/dist/chunks/{cowork-CKWYHXYB.js → cowork-BLG62BL2.js} +46 -26
- package/dist/chunks/{ebuilder-form-KOLJRVZD.js → ebuilder-form-NUKG5QW4.js} +3 -3
- package/dist/chunks/{ehr-WFOC3B4D.js → ehr-2STW5ILH.js} +174 -10
- package/dist/chunks/{esb-LJZTN663.js → esb-UUDQUNKY.js} +4 -4
- package/dist/chunks/{fna-F7QRIIZC.js → fna-6RCY4NU5.js} +15 -9
- package/dist/chunks/{host-VQ6JJXGQ.js → host-7RXEDMAH.js} +3 -3
- package/dist/chunks/{host-KXPTEWFS.js → host-EJZFROU3.js} +3 -3
- package/dist/chunks/{host-BCGUVEWX.js → host-FWDOSRH5.js} +3 -3
- package/dist/chunks/{host-DGE2TZD4.js → host-RHM3NPXV.js} +3 -3
- package/dist/chunks/{host-BQBRHVR3.js → host-UFF33TWJ.js} +3 -3
- package/dist/chunks/{hrm-NI6XAKW5.js → hrm-PKJ6ELSH.js} +3 -3
- package/dist/chunks/{im-7TRTF3KT.js → im-YJAXS7CO.js} +3 -3
- package/dist/chunks/{invoice-AOXWJKYT.js → invoice-HWVSXGX6.js} +3 -3
- package/dist/chunks/{jiuchuanhui-7NQWEZAW.js → jiuchuanhui-L7VKILZB.js} +4 -3
- package/dist/chunks/{lazy-dispatch-RNS4EE4S.js → lazy-dispatch-NMYEIHRH.js} +4 -4
- package/dist/chunks/{mail-VDHJAB4O.js → mail-B42RRU7G.js} +46 -24
- package/dist/chunks/{meeting-GA7XCNNP.js → meeting-CFYVBJSS.js} +77 -12
- package/dist/chunks/{okr-TQIRERPQ.js → okr-GCLF6V7W.js} +4 -3
- package/dist/chunks/{plan-4RY4LN2P.js → plan-ZVL7GBRI.js} +4 -3
- package/dist/chunks/{project-D6XT2OC5.js → project-4YWAAE2K.js} +4 -3
- package/dist/chunks/{registry-QKMI43Q6.js → registry-EP4VTHZS.js} +8 -8
- package/dist/chunks/{registry-JHRIDQ3A.js → registry-FRJ6H7BT.js} +4 -4
- package/dist/chunks/{registry-VOGKFFTR.js → registry-SG2PGVCF.js} +2 -2
- package/dist/chunks/{room-recommend-D4EUOOWY.js → room-recommend-R3JVUUAC.js} +4 -4
- package/dist/chunks/{schedule-XPFBHPCV.js → schedule-NIJBTYDO.js} +4 -4
- package/dist/chunks/{workflow-HLBZRWIY.js → workflow-BB24DFBY.js} +11 -4
- package/dist/index.js +31 -26
- package/dist/internal/e10/auth-recovery.js +114 -1
- package/dist/internal/e10/client.js +16 -2
- package/dist/internal/e10/fetch-timing.js +31 -0
- package/dist/internal/e10/request-runtime.js +108 -7
- package/dist/shortcuts/archive/host.js +3 -2
- package/dist/shortcuts/archive-oa/host.js +2 -1
- package/dist/shortcuts/asset/host.js +6 -5
- package/dist/shortcuts/blog/host.js +3 -2
- package/dist/shortcuts/caizhilian/host.js +3 -2
- package/dist/shortcuts/calendar/host.js +2 -1
- package/dist/shortcuts/contract/host.js +2 -1
- package/dist/shortcuts/cowork/host.js +10 -1
- package/dist/shortcuts/cowork/operations/types.js +17 -2
- package/dist/shortcuts/ebuilder-form/host.js +3 -1
- package/dist/shortcuts/ehr/host.js +2 -1
- package/dist/shortcuts/ehr/operations/recruit-write.js +35 -0
- package/dist/shortcuts/ehr/operations/recruit.js +147 -0
- package/dist/shortcuts/esb/host.js +2 -1
- package/dist/shortcuts/fna/host.js +2 -1
- package/dist/shortcuts/fna/operations/expense-chart.js +19 -7
- package/dist/shortcuts/hrm/host.js +2 -1
- package/dist/shortcuts/im/host.js +3 -2
- package/dist/shortcuts/index.js +5 -0
- package/dist/shortcuts/invoice/host.js +5 -4
- package/dist/shortcuts/jiuchuanhui/host.js +2 -1
- package/dist/shortcuts/mail/host.js +10 -1
- package/dist/shortcuts/mail/operations/types.js +17 -2
- package/dist/shortcuts/meeting/host.js +3 -2
- package/dist/shortcuts/meeting/index.js +79 -1
- package/dist/shortcuts/meeting/invitation/text.js +71 -0
- package/dist/shortcuts/meeting/manifest.js +10 -0
- package/dist/shortcuts/meeting/operations/eb/catalog.js +5 -0
- package/dist/shortcuts/meeting/operations/eb/conflict.js +6 -1
- package/dist/shortcuts/meeting/operations/eb/create-flow.js +2105 -169
- package/dist/shortcuts/meeting/operations/eb/crm-search.js +478 -0
- package/dist/shortcuts/meeting/operations/eb/factory.js +161 -8
- package/dist/shortcuts/meeting/operations/eb/index.js +2 -0
- package/dist/shortcuts/meeting/operations/eb/room-recommend.js +36 -2
- package/dist/shortcuts/meeting/operations/eb-fallback.js +4 -0
- package/dist/shortcuts/meeting/operations/env.js +6 -0
- package/dist/shortcuts/meeting/operations/invitation.js +200 -28
- package/dist/shortcuts/okr/host.js +2 -1
- package/dist/shortcuts/plan/host.js +2 -1
- package/dist/shortcuts/project/host.js +2 -1
- package/dist/shortcuts/workflow/endpoints.js +8 -3
- package/dist/shortcuts/workflow/operations/form.js +341 -36
- package/dist/shortcuts/workflow/operations.js +23 -1
- package/docs/ehr.md +1 -1
- package/docs/fna.md +2 -1
- package/package.json +1 -1
- package/skill-template/business-info.json +18 -0
- package/skill-template/domains/cowork.md +14 -0
- package/skills/weaver-e10-cowork/SKILL.md +101 -0
- package/skills/weaver-e10-cowork/references/cowork-read.md +90 -0
- package/skills/weaver-e10-cowork/references/cowork-write.md +131 -0
- package/skills/weaver-e10-cowork/references/safety-boundaries.md +45 -0
- package/skills/weaver-e10-jucailin/SKILL.md +21 -3
- package/skills/weaver-e10-jucailin/references/recruit-read.md +25 -0
- package/skills/weaver-e10-jucailin/references/recruit-write.md +13 -0
- package/skills/weaver-e10-jucailin/references/salary.md +15 -11
- package/skills/weaver-e10-mail/SKILL.md +12 -9
- package/skills/weaver-e10-meeting/SKILL.md +499 -300
- package/skills/weaver-e10-meeting/references/meeting-eb.md +334 -0
- package/skills/weaver-e10-meeting/references/meeting-invitation.md +64 -6
- package/skills/weaver-e10-meeting.zip +0 -0
- package/skills/weaver-e10-okr/references/source-manifest.json +3 -3
- package/skills/weaver-e10-qiyecheng/SKILL.md +5 -2
- package/skills/weaver-e10-qiyecheng/references/catalog.md +2 -2
- package/skills/weaver-e10-qiyecheng/references/expense-chart.md +15 -1
- package/skills/weaver-e10-qiyecheng/references/source-manifest.json +22 -21
- package/skills/weaver-e10-yimiaoban/references/source-manifest.json +3 -3
|
@@ -6,8 +6,9 @@ import {
|
|
|
6
6
|
getActiveProfile,
|
|
7
7
|
hasXiaoEEnv,
|
|
8
8
|
isXiaoERuntimeAgent,
|
|
9
|
+
startFetchTiming,
|
|
9
10
|
tryXiaoEUnifiedLogin
|
|
10
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-OJQUJZQF.js";
|
|
11
12
|
import {
|
|
12
13
|
CliError
|
|
13
14
|
} from "./chunk-LUSPKZKY.js";
|
|
@@ -35,6 +36,81 @@ var AUTH_REQUIRED_MARKERS = [
|
|
|
35
36
|
"not logged in",
|
|
36
37
|
"not login"
|
|
37
38
|
];
|
|
39
|
+
var REDIRECT_STATUSES = /* @__PURE__ */ new Set([301, 302, 303, 307, 308]);
|
|
40
|
+
var LOGIN_REDIRECT_MARKERS = [
|
|
41
|
+
"login",
|
|
42
|
+
"passport",
|
|
43
|
+
"sso",
|
|
44
|
+
"oauth",
|
|
45
|
+
"signin",
|
|
46
|
+
"sign-in",
|
|
47
|
+
"authorize",
|
|
48
|
+
"authn",
|
|
49
|
+
"atrust",
|
|
50
|
+
"checkticket"
|
|
51
|
+
];
|
|
52
|
+
var FILE_REDIRECT_MARKERS = [
|
|
53
|
+
"fileservice",
|
|
54
|
+
"/file/download",
|
|
55
|
+
"/file/remotedownload",
|
|
56
|
+
"/remotedownload/",
|
|
57
|
+
"/api/file/",
|
|
58
|
+
"/download/",
|
|
59
|
+
"aliyuncs.com",
|
|
60
|
+
"myqcloud.com",
|
|
61
|
+
"qiniucdn.com",
|
|
62
|
+
"qbox.me",
|
|
63
|
+
"jdcloud.com",
|
|
64
|
+
"amazonaws.com",
|
|
65
|
+
"blob.core.windows.net",
|
|
66
|
+
"ctyunapi.cn",
|
|
67
|
+
"hiclouds.com",
|
|
68
|
+
"minio",
|
|
69
|
+
"s3.",
|
|
70
|
+
"obs.",
|
|
71
|
+
"ks3"
|
|
72
|
+
];
|
|
73
|
+
var FILE_REQUEST_PATH_MARKERS = [
|
|
74
|
+
"/api/file/",
|
|
75
|
+
"/file/download",
|
|
76
|
+
"/remotedownload/",
|
|
77
|
+
"/fileservice",
|
|
78
|
+
"/download"
|
|
79
|
+
];
|
|
80
|
+
var APP_SHELL_REDIRECT = /(?:\.html?(?:[?#]|$)|#\/|wui\/)/u;
|
|
81
|
+
function isE10RedirectStatus(status) {
|
|
82
|
+
return REDIRECT_STATUSES.has(status);
|
|
83
|
+
}
|
|
84
|
+
function redirectTarget(location) {
|
|
85
|
+
const raw = location.trim().toLowerCase();
|
|
86
|
+
if (!raw) return "";
|
|
87
|
+
try {
|
|
88
|
+
const url = new URL(raw, "https://e10.invalid");
|
|
89
|
+
return `${url.hostname}${url.pathname}${url.hash}`.toLowerCase();
|
|
90
|
+
} catch {
|
|
91
|
+
return raw.split("?")[0];
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function classifyE10Redirect(response) {
|
|
95
|
+
if (!isE10RedirectStatus(response.status)) return "other";
|
|
96
|
+
const target = redirectTarget(response.headers?.get("location") || "");
|
|
97
|
+
if (!target) return "other";
|
|
98
|
+
if (LOGIN_REDIRECT_MARKERS.some((marker) => target.includes(marker))) return "login";
|
|
99
|
+
if (FILE_REDIRECT_MARKERS.some((marker) => target.includes(marker))) return "file";
|
|
100
|
+
const requestPath = (response.requestPath || "").toLowerCase();
|
|
101
|
+
if (requestPath && FILE_REQUEST_PATH_MARKERS.some((marker) => requestPath.includes(marker)) && !APP_SHELL_REDIRECT.test(target)) {
|
|
102
|
+
return "file";
|
|
103
|
+
}
|
|
104
|
+
return "other";
|
|
105
|
+
}
|
|
106
|
+
function isE10FileRedirect(response) {
|
|
107
|
+
return classifyE10Redirect(response) === "file";
|
|
108
|
+
}
|
|
109
|
+
function isE10SessionExpiredResponse(response) {
|
|
110
|
+
if (response.status === 401) return true;
|
|
111
|
+
if (isE10RedirectStatus(response.status)) return !isE10FileRedirect(response);
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
38
114
|
var recoveryInFlight = /* @__PURE__ */ new Map();
|
|
39
115
|
function asRecord(value) {
|
|
40
116
|
return value && typeof value === "object" && !Array.isArray(value) ? value : null;
|
|
@@ -70,7 +146,7 @@ function responseText(response) {
|
|
|
70
146
|
return "";
|
|
71
147
|
}
|
|
72
148
|
function isE10AuthenticationRequired(response) {
|
|
73
|
-
if (response
|
|
149
|
+
if (isE10SessionExpiredResponse(response)) return true;
|
|
74
150
|
if (responseCodes(response.value).some((code) => AUTH_REQUIRED_CODES.has(code))) return true;
|
|
75
151
|
const text = responseText(response).toLowerCase();
|
|
76
152
|
if (!text) return false;
|
|
@@ -139,6 +215,7 @@ async function requireE10Session(ctx, load = {}) {
|
|
|
139
215
|
// src/internal/e10/request-runtime.ts
|
|
140
216
|
var DEFAULT_TIMEOUT_MS = 3e4;
|
|
141
217
|
var DEFAULT_BIG_INT_STRINGS = true;
|
|
218
|
+
var MAX_DOWNLOAD_REDIRECTS = 3;
|
|
142
219
|
var RESERVED_HEADERS = [
|
|
143
220
|
"authorization",
|
|
144
221
|
"cookie",
|
|
@@ -198,12 +275,12 @@ var E10RequestRuntime = class {
|
|
|
198
275
|
}
|
|
199
276
|
stripReservedHeaders(mutable.headers);
|
|
200
277
|
const requestEteamsId = this.session.eteamsId;
|
|
201
|
-
let
|
|
202
|
-
if (!mutable.streamBody && isE10AuthenticationRequired(parsed) && await this.recoverExpiredSession(requestEteamsId)) {
|
|
203
|
-
|
|
278
|
+
let attempt = await this.executeRequest(mutable, request.trustedHeaders);
|
|
279
|
+
if (!mutable.streamBody && !attempt.fromFileRedirect && isE10AuthenticationRequired(authenticationProbe(mutable, attempt.parsed)) && await this.recoverExpiredSession(requestEteamsId)) {
|
|
280
|
+
attempt = await this.executeRequest(mutable, request.trustedHeaders);
|
|
204
281
|
}
|
|
205
|
-
await this.runAfterResponse(mutable, this.sessionContext(), parsed);
|
|
206
|
-
return parsed;
|
|
282
|
+
await this.runAfterResponse(mutable, this.sessionContext(), attempt.parsed);
|
|
283
|
+
return attempt.parsed;
|
|
207
284
|
} catch (error) {
|
|
208
285
|
await this.runOnError(mutable, this.sessionContext(), error);
|
|
209
286
|
throw error;
|
|
@@ -214,13 +291,77 @@ var E10RequestRuntime = class {
|
|
|
214
291
|
const headers = this.composeHeaders(request, trustedHeaders);
|
|
215
292
|
const init = this.buildFetchInit(request, headers);
|
|
216
293
|
const response = await this.fetchWithTimeout(url, init, request.timeoutMs);
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
294
|
+
const followed = request.responseType === "binary" ? await this.followDownloadRedirect(response, request, url) : { response, followed: false };
|
|
295
|
+
if (followed.followed && (followed.response.status === 401 || followed.response.status === 403)) {
|
|
296
|
+
throw new E10ApiError(
|
|
297
|
+
"network",
|
|
298
|
+
"download_file_service_denied",
|
|
299
|
+
`\u6587\u4EF6\u670D\u52A1\u62D2\u7EDD\u4E0B\u8F7D\uFF08HTTP ${followed.response.status}\uFF09\uFF0C\u76F4\u94FE\u53EF\u80FD\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u8BD5\u4E0B\u8F7D`,
|
|
300
|
+
{
|
|
301
|
+
retryable: true,
|
|
302
|
+
exitCode: 4 /* NetworkError */,
|
|
303
|
+
details: { status: followed.response.status }
|
|
304
|
+
}
|
|
305
|
+
);
|
|
306
|
+
}
|
|
307
|
+
return {
|
|
308
|
+
parsed: await this.readResponse(
|
|
309
|
+
followed.response,
|
|
310
|
+
request.responseType,
|
|
311
|
+
request.bigIntStrings,
|
|
312
|
+
request.maxResponseBytes,
|
|
313
|
+
request.timeoutMs
|
|
314
|
+
),
|
|
315
|
+
fromFileRedirect: followed.followed
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* 跟随下载直传的 3xx。仅当跳转目标是文件服务(非登录页)时才跟随,最多
|
|
320
|
+
* `MAX_DOWNLOAD_REDIRECTS` 跳;登录类跳转原样返回,交给上层认证恢复处理。
|
|
321
|
+
* 凭证规则:同源才继续带 Cookie/eteamsid,跨域(对象存储)不带任何鉴权头。
|
|
322
|
+
*/
|
|
323
|
+
async followDownloadRedirect(response, request, requestUrl) {
|
|
324
|
+
const baseOrigin = safeOrigin(this.session.getBaseUrl());
|
|
325
|
+
let current = response;
|
|
326
|
+
let currentUrl = requestUrl;
|
|
327
|
+
let followed = false;
|
|
328
|
+
for (let hop = 0; hop < MAX_DOWNLOAD_REDIRECTS; hop += 1) {
|
|
329
|
+
const kind = classifyE10Redirect({
|
|
330
|
+
status: current.status,
|
|
331
|
+
headers: current.headers,
|
|
332
|
+
requestPath: request.path
|
|
333
|
+
});
|
|
334
|
+
if (kind !== "file") return { response: current, followed };
|
|
335
|
+
const location = current.headers.get("location");
|
|
336
|
+
if (!location) return { response: current, followed };
|
|
337
|
+
let next;
|
|
338
|
+
try {
|
|
339
|
+
next = new URL(location, currentUrl);
|
|
340
|
+
} catch {
|
|
341
|
+
return { response: current, followed };
|
|
342
|
+
}
|
|
343
|
+
if (!/^https?:$/u.test(next.protocol)) return { response: current, followed };
|
|
344
|
+
const sameOrigin = baseOrigin !== "" && safeOrigin(next.toString()) === baseOrigin;
|
|
345
|
+
current = await this.fetchWithTimeout(
|
|
346
|
+
next,
|
|
347
|
+
this.buildDownloadRedirectInit(sameOrigin),
|
|
348
|
+
request.timeoutMs
|
|
349
|
+
);
|
|
350
|
+
currentUrl = next;
|
|
351
|
+
followed = true;
|
|
352
|
+
}
|
|
353
|
+
return { response: current, followed };
|
|
354
|
+
}
|
|
355
|
+
buildDownloadRedirectInit(sameOrigin) {
|
|
356
|
+
const headers = {
|
|
357
|
+
Accept: "application/octet-stream, */*",
|
|
358
|
+
"User-Agent": this.session.uaHeader()
|
|
359
|
+
};
|
|
360
|
+
if (sameOrigin) {
|
|
361
|
+
headers.Cookie = this.attachSessionTicket ? this.session.cookieHeaderWithSessionTicket() : this.session.cookieHeader();
|
|
362
|
+
headers.eteamsid = this.session.eteamsId;
|
|
363
|
+
}
|
|
364
|
+
return { method: "GET", headers, redirect: "manual" };
|
|
224
365
|
}
|
|
225
366
|
async recoverExpiredSession(requestEteamsId) {
|
|
226
367
|
if (this.session.eteamsId && this.session.eteamsId !== requestEteamsId) return true;
|
|
@@ -352,6 +493,7 @@ var E10RequestRuntime = class {
|
|
|
352
493
|
async fetchWithTimeout(url, init, timeoutMs) {
|
|
353
494
|
const controller = new AbortController();
|
|
354
495
|
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
496
|
+
const stopFetchTiming = startFetchTiming();
|
|
355
497
|
try {
|
|
356
498
|
return await this.fetchFn(url, { ...init, signal: controller.signal });
|
|
357
499
|
} catch (error) {
|
|
@@ -368,6 +510,7 @@ var E10RequestRuntime = class {
|
|
|
368
510
|
});
|
|
369
511
|
} finally {
|
|
370
512
|
clearTimeout(timer);
|
|
513
|
+
stopFetchTiming?.();
|
|
371
514
|
}
|
|
372
515
|
}
|
|
373
516
|
async readResponse(response, responseType, bigIntStrings = DEFAULT_BIG_INT_STRINGS, maxResponseBytes, timeoutMs = DEFAULT_TIMEOUT_MS) {
|
|
@@ -399,6 +542,25 @@ var E10RequestRuntime = class {
|
|
|
399
542
|
function parseJsonPreservingBigInts(text) {
|
|
400
543
|
return JSON.parse(quoteLargeJsonIntegers(text));
|
|
401
544
|
}
|
|
545
|
+
function authenticationProbe(request, response) {
|
|
546
|
+
if ("content" in response) {
|
|
547
|
+
return { status: response.status, headers: response.headers, requestPath: request.path };
|
|
548
|
+
}
|
|
549
|
+
return {
|
|
550
|
+
status: response.status,
|
|
551
|
+
headers: response.headers,
|
|
552
|
+
requestPath: request.path,
|
|
553
|
+
text: response.text,
|
|
554
|
+
value: response.value
|
|
555
|
+
};
|
|
556
|
+
}
|
|
557
|
+
function safeOrigin(rawUrl) {
|
|
558
|
+
try {
|
|
559
|
+
return new URL(rawUrl).origin.toLowerCase();
|
|
560
|
+
} catch {
|
|
561
|
+
return "";
|
|
562
|
+
}
|
|
563
|
+
}
|
|
402
564
|
var LONG_INTEGER_MIN_DIGITS = 16;
|
|
403
565
|
var JSON_STRING_OR_NUMBER = /"(?:[^"\\]|\\.)*"|-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g;
|
|
404
566
|
var LONG_DIGIT_RUN = /\d{16}/;
|
|
@@ -504,6 +666,7 @@ function cloneForHook(value) {
|
|
|
504
666
|
}
|
|
505
667
|
|
|
506
668
|
export {
|
|
669
|
+
isE10SessionExpiredResponse,
|
|
507
670
|
requireE10Session,
|
|
508
671
|
E10ApiError,
|
|
509
672
|
createE10RequestRuntime
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
} from "./chunk-AJ62BGAW.js";
|
|
20
20
|
import {
|
|
21
21
|
clearInvoiceTokenForSession
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-FUWVHMVV.js";
|
|
23
23
|
import {
|
|
24
24
|
E10AuthSession,
|
|
25
25
|
XIAOE_AGENT_TYPE,
|
|
@@ -48,7 +48,7 @@ import {
|
|
|
48
48
|
setActiveProfile,
|
|
49
49
|
switchActiveProfile,
|
|
50
50
|
tryXiaoEUnifiedLogin
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-OJQUJZQF.js";
|
|
52
52
|
import {
|
|
53
53
|
CliError,
|
|
54
54
|
isCliError,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
meetingValidationError,
|
|
13
13
|
queryBody,
|
|
14
14
|
toIdCsv
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-ELYDWBZJ.js";
|
|
16
16
|
|
|
17
17
|
// src/shortcuts/meeting/operations/eb/conflict.ts
|
|
18
18
|
var ACTIVE_MT_STATUS = "1,2,8,9";
|
|
@@ -296,7 +296,7 @@ var ebMeetingWritePreflight = async ({ endpoint, payload, args, env, extras }) =
|
|
|
296
296
|
const items = rawMembers.split(/[,;,;]+/u).map((item) => item.trim()).filter((item) => item !== "");
|
|
297
297
|
const nameLike = items.filter((item) => !/^\d+$/u.test(item));
|
|
298
298
|
if (nameLike.length > 0) {
|
|
299
|
-
const { resolveMemberIdsByName } = await import("./schedule-
|
|
299
|
+
const { resolveMemberIdsByName } = await import("./schedule-NIJBTYDO.js");
|
|
300
300
|
const idsByName = await resolveMemberIdsByName(env, nameLike);
|
|
301
301
|
const resolved = items.map((item) => idsByName.get(item) ?? item);
|
|
302
302
|
payload.mainTable.hrm_members = [...new Set(resolved)].join(",");
|
|
@@ -610,7 +610,7 @@ async function findCommonFreeSlots(env, input) {
|
|
|
610
610
|
const scheduleItems = [];
|
|
611
611
|
if (includeSchedule) {
|
|
612
612
|
try {
|
|
613
|
-
const { runScheduleConflictFlow, parseScheduleConflictMessage, resolveMemberIdsByName } = await import("./schedule-
|
|
613
|
+
const { runScheduleConflictFlow, parseScheduleConflictMessage, resolveMemberIdsByName } = await import("./schedule-NIJBTYDO.js");
|
|
614
614
|
const dayBegin = new Date(rangeStart.getFullYear(), rangeStart.getMonth(), rangeStart.getDate(), 0, 0, 0, 0);
|
|
615
615
|
const dayEnd = new Date(rangeStart.getFullYear(), rangeStart.getMonth(), rangeStart.getDate(), 23, 59, 0, 0);
|
|
616
616
|
const flow = await runScheduleConflictFlow(env, {
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
ebBusinessSuccess,
|
|
6
6
|
meetingSuccess,
|
|
7
7
|
meetingValidationError
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-ELYDWBZJ.js";
|
|
9
9
|
|
|
10
10
|
// src/shortcuts/meeting/operations/env.ts
|
|
11
11
|
import { existsSync } from "node:fs";
|
|
@@ -109,6 +109,9 @@ async function probeAndPersist(host, ctx, knownEbError, options = {}) {
|
|
|
109
109
|
}
|
|
110
110
|
async function resolveMeetingEnvMode(host, ctx, options = {}) {
|
|
111
111
|
const session = await host.getSession();
|
|
112
|
+
if (options.refresh !== true && String(process.env.WEAVER_MEETING_LOCK_MODE ?? "").trim().toLowerCase() === "eb") {
|
|
113
|
+
return { mode: "eb", smokePath: EB_SMOKE_PATH, fromCache: false, assumed: true, locked: true };
|
|
114
|
+
}
|
|
112
115
|
if (options.refresh === true) {
|
|
113
116
|
return { ...await probeAndPersist(host, ctx), fromCache: false };
|
|
114
117
|
}
|
|
@@ -7,8 +7,8 @@ import {
|
|
|
7
7
|
findCommonFreeSlots,
|
|
8
8
|
meetingEbConflictOperations,
|
|
9
9
|
runEbConflictCheck
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-XJY7G4DD.js";
|
|
11
|
+
import "./chunk-ELYDWBZJ.js";
|
|
12
12
|
import "./chunk-LUSPKZKY.js";
|
|
13
13
|
import "./chunk-BUSC6UAE.js";
|
|
14
14
|
export {
|