lua-cli 3.46.0 → 3.47.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/dist/api-exports.d.ts +125 -57
- package/dist/api-exports.js +273 -118
- package/dist/api-exports.js.map +1 -1
- package/dist/index.js +334 -177
- package/dist/index.js.map +1 -1
- package/dist/voice/test/index.d.ts +54 -54
- package/dist/workflow-builder.js +198 -102
- package/dist/workflow-builder.js.map +1 -1
- package/docs/README.md +4 -4
- package/docs/api/User.md +52 -1
- package/package.json +3 -3
- package/template/package.json +1 -1
package/dist/api-exports.js
CHANGED
|
@@ -1005,9 +1005,9 @@ function validSecretOutcome(o) {
|
|
|
1005
1005
|
function formatClientOutcomeTurns(outcomes) {
|
|
1006
1006
|
return outcomes.map((outcome) => JSON.stringify(outcome)).join("\n");
|
|
1007
1007
|
}
|
|
1008
|
-
function parseClientOutcomeTurns(
|
|
1009
|
-
if (typeof
|
|
1010
|
-
const lines =
|
|
1008
|
+
function parseClientOutcomeTurns(text2) {
|
|
1009
|
+
if (typeof text2 !== "string") return null;
|
|
1010
|
+
const lines = text2.split("\n").map((line) => line.trim()).filter(Boolean);
|
|
1011
1011
|
if (lines.length === 0 || lines.length > CLIENT_OUTCOME_TURNS_MAX) return null;
|
|
1012
1012
|
const out = [];
|
|
1013
1013
|
for (const line of lines) {
|
|
@@ -1324,9 +1324,9 @@ function idOrName(value3) {
|
|
|
1324
1324
|
].filter((v) => Boolean(v));
|
|
1325
1325
|
return [];
|
|
1326
1326
|
}
|
|
1327
|
-
function addresses(
|
|
1328
|
-
if (typeof
|
|
1329
|
-
return (
|
|
1327
|
+
function addresses(text2) {
|
|
1328
|
+
if (typeof text2 !== "string") return [];
|
|
1329
|
+
return (text2.match(EMAIL_IN_TEXT) ?? []).map((address) => address.toLowerCase());
|
|
1330
1330
|
}
|
|
1331
1331
|
function recordFacts(value3) {
|
|
1332
1332
|
const senders = [];
|
|
@@ -1471,8 +1471,8 @@ function contentRecordExcluded(record, exclusions) {
|
|
|
1471
1471
|
}
|
|
1472
1472
|
function jsonLookingString(value3) {
|
|
1473
1473
|
if (typeof value3 !== "string") return false;
|
|
1474
|
-
const
|
|
1475
|
-
return
|
|
1474
|
+
const text2 = value3.trim();
|
|
1475
|
+
return text2.startsWith("{") && text2.endsWith("}") || text2.startsWith("[") && text2.endsWith("]");
|
|
1476
1476
|
}
|
|
1477
1477
|
function parseEmbeddedJson(value3) {
|
|
1478
1478
|
try {
|
|
@@ -1492,11 +1492,11 @@ function applyContentExclusions(value3, exclusions) {
|
|
|
1492
1492
|
};
|
|
1493
1493
|
let removed = 0;
|
|
1494
1494
|
let blocked = false;
|
|
1495
|
-
const walkString = /* @__PURE__ */ __name3((
|
|
1496
|
-
const parsed = parseEmbeddedJson(
|
|
1497
|
-
if (!parsed) return
|
|
1495
|
+
const walkString = /* @__PURE__ */ __name3((text2, depth) => {
|
|
1496
|
+
const parsed = parseEmbeddedJson(text2);
|
|
1497
|
+
if (!parsed) return text2;
|
|
1498
1498
|
const next2 = walk22(parsed.value, depth);
|
|
1499
|
-
return next2 === parsed.value ?
|
|
1499
|
+
return next2 === parsed.value ? text2 : JSON.stringify(next2);
|
|
1500
1500
|
}, "walkString");
|
|
1501
1501
|
const walk22 = /* @__PURE__ */ __name3((node, depth) => {
|
|
1502
1502
|
if (blocked) return node;
|
|
@@ -1590,8 +1590,8 @@ function contentProjectionParameters(params) {
|
|
|
1590
1590
|
if (PROJECTION_PARAMETER_KEYS.has(name)) {
|
|
1591
1591
|
found.push(key);
|
|
1592
1592
|
} else if (name === "expand") {
|
|
1593
|
-
const
|
|
1594
|
-
if (/select/i.test(normaliseRequestParameterKey(
|
|
1593
|
+
const text2 = typeof value3 === "string" ? value3 : JSON.stringify(value3 ?? "");
|
|
1594
|
+
if (/select/i.test(normaliseRequestParameterKey(text2))) found.push(key);
|
|
1595
1595
|
}
|
|
1596
1596
|
}
|
|
1597
1597
|
return found;
|
|
@@ -1621,9 +1621,9 @@ function currencyMinorUnitExponent(currency) {
|
|
|
1621
1621
|
return 2;
|
|
1622
1622
|
}
|
|
1623
1623
|
function majorToMinorUnits(amount, currency) {
|
|
1624
|
-
const
|
|
1625
|
-
if (/e/i.test(
|
|
1626
|
-
const match = DECIMAL_AMOUNT.exec(
|
|
1624
|
+
const text2 = typeof amount === "number" ? Number.isFinite(amount) ? String(amount) : "" : typeof amount === "string" ? amount.trim() : "";
|
|
1625
|
+
if (/e/i.test(text2)) return void 0;
|
|
1626
|
+
const match = DECIMAL_AMOUNT.exec(text2);
|
|
1627
1627
|
if (!match) return void 0;
|
|
1628
1628
|
const exponent = currencyMinorUnitExponent(currency);
|
|
1629
1629
|
const whole = match[1];
|
|
@@ -1635,9 +1635,9 @@ function majorToMinorUnits(amount, currency) {
|
|
|
1635
1635
|
return Number.isSafeInteger(minor) ? minor : void 0;
|
|
1636
1636
|
}
|
|
1637
1637
|
function readMinorUnits(amount) {
|
|
1638
|
-
const
|
|
1639
|
-
if (!/^\d+$/.test(
|
|
1640
|
-
const minor = Number(
|
|
1638
|
+
const text2 = typeof amount === "number" ? String(amount) : typeof amount === "string" ? amount.trim() : "";
|
|
1639
|
+
if (!/^\d+$/.test(text2)) return void 0;
|
|
1640
|
+
const minor = Number(text2);
|
|
1641
1641
|
return Number.isSafeInteger(minor) ? minor : void 0;
|
|
1642
1642
|
}
|
|
1643
1643
|
function operationCapUtcDay(now = /* @__PURE__ */ new Date()) {
|
|
@@ -1654,8 +1654,8 @@ function groupCount(re) {
|
|
|
1654
1654
|
function isWorkflowSecretKey(key) {
|
|
1655
1655
|
return WORKFLOW_SECRET_KEY_RE.test(key);
|
|
1656
1656
|
}
|
|
1657
|
-
function applyPatterns(
|
|
1658
|
-
let out =
|
|
1657
|
+
function applyPatterns(text2, patterns, counter) {
|
|
1658
|
+
let out = text2;
|
|
1659
1659
|
for (const { re, suffix } of patterns) {
|
|
1660
1660
|
re.lastIndex = 0;
|
|
1661
1661
|
if (!re.test(out)) continue;
|
|
@@ -1675,30 +1675,30 @@ function applyPatterns(text, patterns, counter) {
|
|
|
1675
1675
|
}
|
|
1676
1676
|
return out;
|
|
1677
1677
|
}
|
|
1678
|
-
function scrubSecretText(
|
|
1679
|
-
if (typeof
|
|
1680
|
-
return applyPatterns(applyPatterns(
|
|
1678
|
+
function scrubSecretText(text2) {
|
|
1679
|
+
if (typeof text2 !== "string" || text2.length < 4) return text2;
|
|
1680
|
+
return applyPatterns(applyPatterns(text2, SECRET_LITERAL_PATTERNS), SECRET_PAIR_PATTERNS);
|
|
1681
1681
|
}
|
|
1682
|
-
function scrubSecretTextCounted(
|
|
1683
|
-
if (typeof
|
|
1684
|
-
text,
|
|
1682
|
+
function scrubSecretTextCounted(text2) {
|
|
1683
|
+
if (typeof text2 !== "string" || text2.length < 4) return {
|
|
1684
|
+
text: text2,
|
|
1685
1685
|
redactions: 0
|
|
1686
1686
|
};
|
|
1687
1687
|
const counter = {
|
|
1688
1688
|
redactions: 0
|
|
1689
1689
|
};
|
|
1690
|
-
const out = applyPatterns(applyPatterns(
|
|
1690
|
+
const out = applyPatterns(applyPatterns(text2, SECRET_LITERAL_PATTERNS, counter), SECRET_PAIR_PATTERNS, counter);
|
|
1691
1691
|
return {
|
|
1692
1692
|
text: out,
|
|
1693
1693
|
redactions: counter.redactions
|
|
1694
1694
|
};
|
|
1695
1695
|
}
|
|
1696
|
-
function boundScrubInput(
|
|
1697
|
-
if (typeof
|
|
1698
|
-
const window =
|
|
1696
|
+
function boundScrubInput(text2, max = SCRUB_INPUT_MAX_CHARS) {
|
|
1697
|
+
if (typeof text2 !== "string" || text2.length <= max) return text2;
|
|
1698
|
+
const window = text2.slice(Math.max(0, max - SCRUB_CUT_BACKOFF_CHARS), max);
|
|
1699
1699
|
const ws = window.search(/\s\S*$/);
|
|
1700
1700
|
const cut2 = ws >= 0 ? max - window.length + ws : max;
|
|
1701
|
-
return `${
|
|
1701
|
+
return `${text2.slice(0, cut2)}\u2026`;
|
|
1702
1702
|
}
|
|
1703
1703
|
function scrubSecretLines(lines) {
|
|
1704
1704
|
return lines.map((l) => typeof l === "string" ? scrubSecretText(boundScrubInput(l)) : l);
|
|
@@ -1718,9 +1718,9 @@ function messageText(value3) {
|
|
|
1718
1718
|
return value3 === void 0 || value3 === null ? "" : String(value3);
|
|
1719
1719
|
}
|
|
1720
1720
|
function scrubProviderMessage(raw, max = PROVIDER_MESSAGE_MAX_CHARS) {
|
|
1721
|
-
const
|
|
1722
|
-
if (!
|
|
1723
|
-
const out = scrubSecretText(
|
|
1721
|
+
const text2 = boundScrubInput(messageText(raw)).replace(/\s+/g, " ").trim();
|
|
1722
|
+
if (!text2) return void 0;
|
|
1723
|
+
const out = scrubSecretText(text2);
|
|
1724
1724
|
return out.length > max ? `${out.slice(0, max - 1)}\u2026` : out;
|
|
1725
1725
|
}
|
|
1726
1726
|
function scrubStepErrorMessage(raw) {
|
|
@@ -1850,8 +1850,8 @@ function supervisionAccessBindingViolation(merged) {
|
|
|
1850
1850
|
}
|
|
1851
1851
|
return null;
|
|
1852
1852
|
}
|
|
1853
|
-
function hasFormatCharacters(
|
|
1854
|
-
return FORMAT_CHARS.test(
|
|
1853
|
+
function hasFormatCharacters(text2) {
|
|
1854
|
+
return FORMAT_CHARS.test(text2);
|
|
1855
1855
|
}
|
|
1856
1856
|
function normalizedHandoverName(name) {
|
|
1857
1857
|
return oneLine(name.normalize("NFKC")).toLowerCase();
|
|
@@ -1914,8 +1914,8 @@ function normalizeConnectionHandoverArgs(raw) {
|
|
|
1914
1914
|
function approvalPayloadCoversConnectionHandover(payload, stored) {
|
|
1915
1915
|
const p = parseConnectionHandoverApprovalPayload(payload);
|
|
1916
1916
|
if (!p) return false;
|
|
1917
|
-
const
|
|
1918
|
-
if (
|
|
1917
|
+
const text2 = describeConnectionHandoverApproval(payload) ?? "";
|
|
1918
|
+
if (text2.length > CONNECTION_HANDOVER_APPROVAL_CARD_MAX_CHARS || scrubSecretText(text2) !== text2) return false;
|
|
1919
1919
|
const storedAccount = stored.account?.trim() || void 0;
|
|
1920
1920
|
return p.connectionId === stored.connectionId && p.agentId === stored.agentId && p.agentName === stored.agentName.trim() && p.supervisorName === stored.supervisorName.trim() && p.integration === stored.integration && p.account === storedAccount;
|
|
1921
1921
|
}
|
|
@@ -2137,13 +2137,13 @@ function parseThreadFollowUpInput(input) {
|
|
|
2137
2137
|
if (hasPrompt === hasMessage) return null;
|
|
2138
2138
|
const raw = hasPrompt ? o.prompt : o.message;
|
|
2139
2139
|
if (typeof raw !== "string") return null;
|
|
2140
|
-
const
|
|
2140
|
+
const text2 = raw.trim();
|
|
2141
2141
|
const max = hasPrompt ? THREAD_FOLLOW_UP_LIMITS.promptMax : THREAD_FOLLOW_UP_LIMITS.messageMax;
|
|
2142
|
-
if (
|
|
2142
|
+
if (text2.length === 0 || text2.length > max) return null;
|
|
2143
2143
|
if (o.idempotencyKey !== void 0 && !isValidCallerDedupeKey(o.idempotencyKey)) return null;
|
|
2144
2144
|
return {
|
|
2145
2145
|
mode: hasPrompt ? "turn" : "message",
|
|
2146
|
-
text,
|
|
2146
|
+
text: text2,
|
|
2147
2147
|
...o.idempotencyKey !== void 0 ? {
|
|
2148
2148
|
idempotencyKey: o.idempotencyKey
|
|
2149
2149
|
} : {}
|
|
@@ -2633,8 +2633,8 @@ function withOverride(def, override) {
|
|
|
2633
2633
|
"effect",
|
|
2634
2634
|
"confirm"
|
|
2635
2635
|
]) {
|
|
2636
|
-
const
|
|
2637
|
-
if (typeof
|
|
2636
|
+
const text2 = stored[field];
|
|
2637
|
+
if (typeof text2 === "string" && text2.trim()) next[field] = text2;
|
|
2638
2638
|
}
|
|
2639
2639
|
if (def.tunableDefault && stored.default !== void 0) {
|
|
2640
2640
|
const check = validateChannelSettingValue(def, stored.default);
|
|
@@ -2743,26 +2743,26 @@ function validateChannelSettingValue(def, value3, channel) {
|
|
|
2743
2743
|
ok: false,
|
|
2744
2744
|
error: "Must not be empty"
|
|
2745
2745
|
};
|
|
2746
|
-
const
|
|
2747
|
-
if (rules.maxLength !== void 0 &&
|
|
2746
|
+
const text2 = value3.trim();
|
|
2747
|
+
if (rules.maxLength !== void 0 && text2.length > rules.maxLength) {
|
|
2748
2748
|
return {
|
|
2749
2749
|
ok: false,
|
|
2750
2750
|
error: `Must be at most ${rules.maxLength} characters`
|
|
2751
2751
|
};
|
|
2752
2752
|
}
|
|
2753
|
-
if (UNSAFE_TEXT.test(
|
|
2753
|
+
if (UNSAFE_TEXT.test(text2)) return {
|
|
2754
2754
|
ok: false,
|
|
2755
2755
|
error: 'Must not contain <, > or " characters'
|
|
2756
2756
|
};
|
|
2757
|
-
if (rules.format === "slackReaction" && resolveSlackReactionName(
|
|
2757
|
+
if (rules.format === "slackReaction" && resolveSlackReactionName(text2) === void 0) {
|
|
2758
2758
|
return {
|
|
2759
2759
|
ok: false,
|
|
2760
|
-
error: `${
|
|
2760
|
+
error: `${text2} is not an emoji Slack can react with; use a common emoji or a :shortcode:`
|
|
2761
2761
|
};
|
|
2762
2762
|
}
|
|
2763
2763
|
return {
|
|
2764
2764
|
ok: true,
|
|
2765
|
-
value:
|
|
2765
|
+
value: text2
|
|
2766
2766
|
};
|
|
2767
2767
|
}
|
|
2768
2768
|
case "enum": {
|
|
@@ -3123,11 +3123,11 @@ function transformChatHistoryContentParts(parts) {
|
|
|
3123
3123
|
mediaType: videoMatch[1]
|
|
3124
3124
|
});
|
|
3125
3125
|
} else {
|
|
3126
|
-
let
|
|
3127
|
-
|
|
3126
|
+
let text2 = rawText.replace(/\\\\\\n/g, "\n");
|
|
3127
|
+
text2 = removeNavigateBlock(text2);
|
|
3128
3128
|
content.push({
|
|
3129
3129
|
type: "text",
|
|
3130
|
-
text
|
|
3130
|
+
text: text2
|
|
3131
3131
|
});
|
|
3132
3132
|
}
|
|
3133
3133
|
} else if (part.type === "file") {
|
|
@@ -3246,6 +3246,83 @@ function foldRichPartsIntoMessages(messages, records, makeMessage, sameTurnGroup
|
|
|
3246
3246
|
while (next < synthetic.length) combined.push(synthetic[next++].message);
|
|
3247
3247
|
return mergeRichPartMirrorMessages(combined, sameTurnGroup);
|
|
3248
3248
|
}
|
|
3249
|
+
function text(item, field, index, required) {
|
|
3250
|
+
const value3 = item[field];
|
|
3251
|
+
if (value3 === void 0 && !required) return void 0;
|
|
3252
|
+
if (typeof value3 !== "string" || required && value3.trim().length === 0) {
|
|
3253
|
+
throw new Error(`Work item ${index}: \`${field}\` must be a ${required ? "non-empty " : ""}string`);
|
|
3254
|
+
}
|
|
3255
|
+
if ([
|
|
3256
|
+
...value3
|
|
3257
|
+
].length > LIMITS[field]) {
|
|
3258
|
+
throw new Error(`Work item ${index}: \`${field}\` is longer than ${LIMITS[field]} characters`);
|
|
3259
|
+
}
|
|
3260
|
+
return value3;
|
|
3261
|
+
}
|
|
3262
|
+
function normalizeWorkItems(items) {
|
|
3263
|
+
if (!Array.isArray(items)) throw new Error("Work items must be an array");
|
|
3264
|
+
if (items.length > MAX_WORK_ITEMS) {
|
|
3265
|
+
throw new Error(`At most ${MAX_WORK_ITEMS} work items can be published (got ${items.length})`);
|
|
3266
|
+
}
|
|
3267
|
+
const seen = /* @__PURE__ */ new Set();
|
|
3268
|
+
return items.map((raw, index) => {
|
|
3269
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
|
|
3270
|
+
throw new Error(`Work item ${index} must be an object`);
|
|
3271
|
+
}
|
|
3272
|
+
const item = raw;
|
|
3273
|
+
const id2 = text(item, "id", index, true);
|
|
3274
|
+
if (seen.has(id2)) throw new Error(`Work item ${index}: \`id\` "${id2}" is used more than once`);
|
|
3275
|
+
seen.add(id2);
|
|
3276
|
+
const title = text(item, "title", index, true);
|
|
3277
|
+
const group = text(item, "group", index, true);
|
|
3278
|
+
const action = text(item, "action", index, true);
|
|
3279
|
+
const status = text(item, "status", index, false);
|
|
3280
|
+
if (item.needsAction !== void 0 && typeof item.needsAction !== "boolean") {
|
|
3281
|
+
throw new Error(`Work item ${index}: \`needsAction\` must be a boolean`);
|
|
3282
|
+
}
|
|
3283
|
+
const when = item.updatedAt;
|
|
3284
|
+
const date = when instanceof Date ? when : typeof when === "string" ? new Date(when) : null;
|
|
3285
|
+
if (!date || Number.isNaN(date.getTime())) {
|
|
3286
|
+
throw new Error(`Work item ${index}: \`updatedAt\` must be a valid date`);
|
|
3287
|
+
}
|
|
3288
|
+
return {
|
|
3289
|
+
id: id2,
|
|
3290
|
+
title,
|
|
3291
|
+
group,
|
|
3292
|
+
...item.needsAction !== void 0 ? {
|
|
3293
|
+
needsAction: item.needsAction
|
|
3294
|
+
} : {},
|
|
3295
|
+
...status !== void 0 ? {
|
|
3296
|
+
status
|
|
3297
|
+
} : {},
|
|
3298
|
+
updatedAt: date.toISOString(),
|
|
3299
|
+
action
|
|
3300
|
+
};
|
|
3301
|
+
});
|
|
3302
|
+
}
|
|
3303
|
+
function workItemsRecord(items, now = /* @__PURE__ */ new Date()) {
|
|
3304
|
+
return {
|
|
3305
|
+
v: 1,
|
|
3306
|
+
items: normalizeWorkItems(items),
|
|
3307
|
+
updatedAt: now.toISOString()
|
|
3308
|
+
};
|
|
3309
|
+
}
|
|
3310
|
+
function withoutWorkItems(data) {
|
|
3311
|
+
if (!data || typeof data !== "object" || !(WORK_ITEMS_KEY in data)) return data;
|
|
3312
|
+
const { [WORK_ITEMS_KEY]: _list, ...rest } = data;
|
|
3313
|
+
return rest;
|
|
3314
|
+
}
|
|
3315
|
+
function mutationWithoutWorkItems(mutation) {
|
|
3316
|
+
return {
|
|
3317
|
+
...mutation,
|
|
3318
|
+
...mutation.set ? {
|
|
3319
|
+
set: withoutWorkItems(mutation.set)
|
|
3320
|
+
} : {},
|
|
3321
|
+
...mutation.unset ? {
|
|
3322
|
+
unset: mutation.unset.filter((field) => field !== WORK_ITEMS_KEY)
|
|
3323
|
+
} : {}
|
|
3324
|
+
};
|
|
3325
|
+
}
|
|
3249
3326
|
function utf8WidthAt(value3, index) {
|
|
3250
3327
|
const code = value3.charCodeAt(index);
|
|
3251
3328
|
if (code < 128) return {
|
|
@@ -4752,15 +4829,15 @@ function normalizeWorkflowGoalJudge(judge) {
|
|
|
4752
4829
|
} : {}
|
|
4753
4830
|
};
|
|
4754
4831
|
}
|
|
4755
|
-
function cut(
|
|
4756
|
-
if (
|
|
4832
|
+
function cut(text2, max) {
|
|
4833
|
+
if (text2.length <= max) return text2;
|
|
4757
4834
|
let end = Math.max(0, max - 1);
|
|
4758
|
-
const last =
|
|
4835
|
+
const last = text2.charCodeAt(end - 1);
|
|
4759
4836
|
if (last >= 55296 && last <= 56319) end -= 1;
|
|
4760
|
-
return `${
|
|
4837
|
+
return `${text2.slice(0, end)}${ELLIPSIS}`;
|
|
4761
4838
|
}
|
|
4762
|
-
function scrubString(
|
|
4763
|
-
const scrubbed = scrubSecretText(boundScrubInput(
|
|
4839
|
+
function scrubString(text2, state3) {
|
|
4840
|
+
const scrubbed = scrubSecretText(boundScrubInput(text2, STRING_SCRUB_INPUT_MAX_CHARS));
|
|
4764
4841
|
if (scrubbed.length > APPROVAL_ARG_STRING_MAX_CHARS) state3.truncated = true;
|
|
4765
4842
|
return cut(scrubbed, APPROVAL_ARG_STRING_MAX_CHARS);
|
|
4766
4843
|
}
|
|
@@ -4845,10 +4922,10 @@ function walkObject(obj, depth, state3) {
|
|
|
4845
4922
|
}
|
|
4846
4923
|
return out;
|
|
4847
4924
|
}
|
|
4848
|
-
function fitString(
|
|
4849
|
-
let n2 = Math.min(
|
|
4925
|
+
function fitString(text2, room) {
|
|
4926
|
+
let n2 = Math.min(text2.length, room - 3);
|
|
4850
4927
|
while (n2 >= 16) {
|
|
4851
|
-
const candidate = cut(
|
|
4928
|
+
const candidate = cut(text2, n2);
|
|
4852
4929
|
if (JSON.stringify(candidate).length <= room) return candidate;
|
|
4853
4930
|
n2 = Math.floor(n2 * 0.8);
|
|
4854
4931
|
}
|
|
@@ -4932,9 +5009,9 @@ function createPersistScrubber(maxChars = PERSIST_SCRUB_MAX_CHARS) {
|
|
|
4932
5009
|
const bounded = boundScrubInput(value3, remaining);
|
|
4933
5010
|
if (bounded !== value3) state3.truncated = true;
|
|
4934
5011
|
remaining -= bounded.length;
|
|
4935
|
-
const { text, redactions } = scrubSecretTextCounted(bounded);
|
|
5012
|
+
const { text: text2, redactions } = scrubSecretTextCounted(bounded);
|
|
4936
5013
|
state3.redactions += redactions;
|
|
4937
|
-
return
|
|
5014
|
+
return text2;
|
|
4938
5015
|
}, "scrub");
|
|
4939
5016
|
return {
|
|
4940
5017
|
scrub,
|
|
@@ -4944,9 +5021,9 @@ function createPersistScrubber(maxChars = PERSIST_SCRUB_MAX_CHARS) {
|
|
|
4944
5021
|
function scrubMessageContentForPersist(content, maxChars = PERSIST_SCRUB_MAX_CHARS) {
|
|
4945
5022
|
const { scrub, state: state3 } = createPersistScrubber(maxChars);
|
|
4946
5023
|
if (typeof content === "string") {
|
|
4947
|
-
const
|
|
5024
|
+
const text2 = scrub(content);
|
|
4948
5025
|
return {
|
|
4949
|
-
content:
|
|
5026
|
+
content: text2 !== content ? text2 : content,
|
|
4950
5027
|
...state3
|
|
4951
5028
|
};
|
|
4952
5029
|
}
|
|
@@ -4958,19 +5035,19 @@ function scrubMessageContentForPersist(content, maxChars = PERSIST_SCRUB_MAX_CHA
|
|
|
4958
5035
|
let changed = false;
|
|
4959
5036
|
const parts = content.map((part) => {
|
|
4960
5037
|
if (typeof part === "string") {
|
|
4961
|
-
const
|
|
4962
|
-
if (
|
|
5038
|
+
const text2 = scrub(part);
|
|
5039
|
+
if (text2 === part) return part;
|
|
4963
5040
|
changed = true;
|
|
4964
|
-
return
|
|
5041
|
+
return text2;
|
|
4965
5042
|
}
|
|
4966
5043
|
if (part && typeof part === "object" && part.type === "text" && typeof part.text === "string") {
|
|
4967
5044
|
const original = part.text;
|
|
4968
|
-
const
|
|
4969
|
-
if (
|
|
5045
|
+
const text2 = scrub(original);
|
|
5046
|
+
if (text2 === original) return part;
|
|
4970
5047
|
changed = true;
|
|
4971
5048
|
return {
|
|
4972
5049
|
...part,
|
|
4973
|
-
text
|
|
5050
|
+
text: text2
|
|
4974
5051
|
};
|
|
4975
5052
|
}
|
|
4976
5053
|
return part;
|
|
@@ -5081,11 +5158,11 @@ function workflowApprovalDecisionOf(resumeData) {
|
|
|
5081
5158
|
function workflowApprovalOutput(resumeData) {
|
|
5082
5159
|
const decision = typeof resumeData.decision === "string" ? resumeData.decision : workflowApprovalDecisionOf(resumeData);
|
|
5083
5160
|
const note = typeof resumeData.note === "string" && resumeData.note.trim() !== "" ? resumeData.note : void 0;
|
|
5084
|
-
const
|
|
5161
|
+
const text2 = typeof resumeData.text === "string" ? resumeData.text : note ?? decision;
|
|
5085
5162
|
return {
|
|
5086
5163
|
...resumeData,
|
|
5087
5164
|
decision,
|
|
5088
|
-
text
|
|
5165
|
+
text: text2
|
|
5089
5166
|
};
|
|
5090
5167
|
}
|
|
5091
5168
|
function isWorkflowApprovalOutput(value3) {
|
|
@@ -5093,8 +5170,8 @@ function isWorkflowApprovalOutput(value3) {
|
|
|
5093
5170
|
const v = value3;
|
|
5094
5171
|
return typeof v.approved === "boolean" && WORKFLOW_APPROVAL_OUTPUT_DECISIONS.includes(v.decision) && typeof v.text === "string";
|
|
5095
5172
|
}
|
|
5096
|
-
function extractSingleJsonValue(
|
|
5097
|
-
const trimmed = (
|
|
5173
|
+
function extractSingleJsonValue(text2) {
|
|
5174
|
+
const trimmed = (text2 ?? "").trim();
|
|
5098
5175
|
if (!trimmed) return {
|
|
5099
5176
|
reason: "reply is empty"
|
|
5100
5177
|
};
|
|
@@ -5252,8 +5329,8 @@ function isWebRouteInput(value3) {
|
|
|
5252
5329
|
if (!app || typeof app.id !== "string" || typeof app.name !== "string" || typeof app.origin !== "string") return false;
|
|
5253
5330
|
return true;
|
|
5254
5331
|
}
|
|
5255
|
-
function evidenceDisplayText(
|
|
5256
|
-
const raw = typeof
|
|
5332
|
+
function evidenceDisplayText(text2) {
|
|
5333
|
+
const raw = typeof text2 === "string" ? text2 : "";
|
|
5257
5334
|
if (!raw.trim()) return "";
|
|
5258
5335
|
const lines = removeHiddenBlocks(raw).split(/\r?\n/).map((line) => {
|
|
5259
5336
|
const t = line.trim();
|
|
@@ -5266,22 +5343,22 @@ function evidenceDisplayText(text) {
|
|
|
5266
5343
|
const out = lines.join(" ").replace(/\s+/g, " ").trim();
|
|
5267
5344
|
return out || "[Attachment]";
|
|
5268
5345
|
}
|
|
5269
|
-
function evidenceSnippet(
|
|
5270
|
-
const flat = evidenceDisplayText(
|
|
5346
|
+
function evidenceSnippet(text2) {
|
|
5347
|
+
const flat = evidenceDisplayText(text2);
|
|
5271
5348
|
return flat.length <= EVIDENCE_SNIPPET_MAX_CHARS ? flat : `${flat.slice(0, EVIDENCE_SNIPPET_MAX_CHARS - 1)}\u2026`;
|
|
5272
5349
|
}
|
|
5273
|
-
function evidenceWordCount(
|
|
5274
|
-
if (typeof
|
|
5275
|
-
const t =
|
|
5350
|
+
function evidenceWordCount(text2) {
|
|
5351
|
+
if (typeof text2 !== "string") return 0;
|
|
5352
|
+
const t = text2.trim();
|
|
5276
5353
|
return t ? t.split(/\s+/).length : 0;
|
|
5277
5354
|
}
|
|
5278
5355
|
function evidenceKey(label) {
|
|
5279
5356
|
return label.toLowerCase().replace(/[_\-\s]+/g, " ").trim();
|
|
5280
5357
|
}
|
|
5281
|
-
function evidenceOpaqueKey(
|
|
5358
|
+
function evidenceOpaqueKey(text2) {
|
|
5282
5359
|
let h = 0xcbf29ce484222325n;
|
|
5283
5360
|
const prime = 0x100000001b3n;
|
|
5284
|
-
for (const ch of evidenceKey(
|
|
5361
|
+
for (const ch of evidenceKey(text2)) {
|
|
5285
5362
|
h ^= BigInt(ch.codePointAt(0) ?? 0);
|
|
5286
5363
|
h = h * prime & 0xffffffffffffffffn;
|
|
5287
5364
|
}
|
|
@@ -5939,16 +6016,16 @@ function slashDecodedPath(path3) {
|
|
|
5939
6016
|
}
|
|
5940
6017
|
return out.join("/");
|
|
5941
6018
|
}
|
|
5942
|
-
function jsonHasDuplicateKey(
|
|
6019
|
+
function jsonHasDuplicateKey(text2) {
|
|
5943
6020
|
const stack = [];
|
|
5944
|
-
for (let i = 0; i <
|
|
5945
|
-
const c =
|
|
6021
|
+
for (let i = 0; i < text2.length; i++) {
|
|
6022
|
+
const c = text2[i];
|
|
5946
6023
|
if (c === '"') {
|
|
5947
6024
|
let j = i + 1;
|
|
5948
|
-
while (j <
|
|
6025
|
+
while (j < text2.length && text2[j] !== '"') j += text2[j] === "\\" ? 2 : 1;
|
|
5949
6026
|
const top = stack[stack.length - 1];
|
|
5950
6027
|
if (top && top.expectKey) {
|
|
5951
|
-
const key = JSON.parse(
|
|
6028
|
+
const key = JSON.parse(text2.slice(i, j + 1));
|
|
5952
6029
|
if (top.keys.has(key)) return true;
|
|
5953
6030
|
top.keys.add(key);
|
|
5954
6031
|
top.expectKey = false;
|
|
@@ -6212,7 +6289,7 @@ function maskMcpServerHeaders(server) {
|
|
|
6212
6289
|
headersSet: headerNames.length > 0
|
|
6213
6290
|
};
|
|
6214
6291
|
}
|
|
6215
|
-
var __defProp3, __name3, PLUMBING_THREAD_CHANNELS, CHANNEL_CONVERSATION_CHANNELS, HIDDEN_THREAD_CHANNELS, CHOICE_PERSON_TURN_CHANNELS, CHOICE_REPLAY_CLIENT_CAPABILITIES, CHOICE_REPLAY_CLIENT_SURFACES, INTEGRATION_PASSTHROUGH_READ_METHODS, URL_REINTERPRETED_PATH_CHARACTERS, PERCENT_ENCODED_DOT, PERCENT_ESCAPE, DECODED_PATH_SEPARATORS, DECODED_LEADING_SEPARATOR, MAX_PERCENT_DECODE_ROUNDS, URL_RESOLUTION_PROBE_BASE, PLATFORM_INVOCATION_CALLERS, SUPERVISION_OPS, SUPERVISION_OPS_WAVE2, SUPERVISION_WATCHDOG_OPS, SUPERVISION_WATCHDOG_ERRORS, SUPERVISION_ROLLBACK_REFUSAL_CODES, SUPERVISION_ROLLBACK_LINEAGE_MAX, SUPERVISION_UNTARGETED_OPS, SUPERVISED_WORKFLOW_VERSIONS_MAX, SUPERVISION_EVENT_KINDS, AGENT_PROVISIONING_LIMITS, AGENT_PROVISIONING_APPROVAL_PAYLOAD_KEY, AGENT_PROVISIONING_ERRORS, PROVISIONED_SUPERVISION_ACTIONS, isNonEmptyString, uniqueStrings, sameSet, AGENT_PROVISIONING_APPROVAL_CARD_MAX_CHARS, APPROVAL_PAYLOAD_MEMBERS, AGENT_CONNECTION_POLICIES, AGENT_CONNECTION_POLICY_DEFAULT, AGENT_CONNECTION_MOUNT_MODES, AGENT_CONNECTION_GOVERNANCE_ERRORS, AGENT_CONNECTION_OPERATION_RULES_MAX, AGENT_CONNECTION_OPERATION_PATTERN_MAX_LENGTH, OPERATION_RULE_METHODS, PATH_SEPARATOR, PATH_SINGLE_SEGMENT_WILDCARD, PATH_REST_WILDCARD, METHOD_OVERRIDE_HEADER_NAMES, METHOD_OVERRIDE_QUERY_NAMES, ODATA_BATCH_SEGMENT, GOOGLE_BATCH_FIRST_SEGMENT, CONNECTION_CHECK_RESULTS, CONNECTION_CHECK_CATALOGUE_V1, CONNECTION_CHECK_NAME_PATTERN, CONNECTION_CHECK_NAME_MAX, CONNECT_OUTCOME_STATUSES, SECRET_TEST_RESULTS, SECRET_DATADOG_REGIONS, SECRET_PROVIDER_CATALOGUE_V1, SECRET_TEST_MAX_RESPONSE_BYTES, SECRET_ENV_KEY_PATTERN, SECRET_REQUEST_ERRORS, SECRET_OUTCOME_STATUSES, CLIENT_OUTCOME_TURNS_MAX, SHORT_TEXT_MAX, SLUG_MAX, shortText, optionalShortText, CONNECTION_REQUEST_TERMINAL_STATES, CONNECTION_USE_ORIGINS, AGENT_CONNECTION_OPERATION_LIMITS_BOUNDS, CURRENCY_CODE, LIMITS_KEYS, CAPS_KEYS, EXCLUSIONS_KEYS, EMAIL_IN_TEXT, MAX_EXCLUSION_DEPTH, PROJECTION_PARAMETER_KEYS, CHANNEL_PARAMETER_KEYS, GMAIL_SYSTEM_LABEL_IDS, ZERO_DECIMAL_CURRENCIES, THREE_DECIMAL_CURRENCIES, DECIMAL_AMOUNT, REDACTED_PLACEHOLDER, PROVIDER_MESSAGE_MAX_CHARS, ERROR_MESSAGE_MAX_CHARS, SECRET_LITERAL_PATTERNS, SECRET_NAME, SECRET_PAIR_PATTERNS, GROUP_COUNT, WORKFLOW_SECRET_KEY_RE, WORKFLOW_RESERVED_SECRET_KEYS, SCRUB_INPUT_MAX_CHARS, SCRUB_CUT_BACKOFF_CHARS, TEST_SESSION_ID_PATTERN, TEST_SESSION_COLLECTION_PREFIX, TEST_EFFECT_BODY_MAX_BYTES, TEST_EFFECT_DROPPED_HEADERS, EVAL_CREDITS_PER_1K_TOKENS, EVAL_RESERVED_TOOL_ID_PREFIXES, CONNECTION_HANDOVER_APPROVAL_PAYLOAD_KEY, CONNECTION_HANDOVER_APPROVAL_CARD_MAX_CHARS, CONNECTION_HANDOVER_LIMITS, MEMBERS, FORMAT_CHARS, oneLine, boundedString, AGENT_METRIC_NAME_PATTERN, AGENT_METRIC_LIMITS, AGENT_OBJECTIVE_ERRORS, CHANGE_LEASE_TTL_MINUTES_MIN, CHANGE_LEASE_TTL_MINUTES_MAX, CHANGE_LEASE_REASON_MAX, CHANGE_LEASE_ERRORS, AGENT_CONFIG_SET_LIMITS, SECRET_ENV_KEY_SUFFIXES, DEFAULT_OWNER_DEPARTURE_POLICY, AGENT_LIFECYCLE_ERRORS, USER_COST_COUNTER_TTL_SECONDS, USER_COST_ATTRIBUTION_CHANNELS, CALLER_DEDUPE_KEY_MAX, FOLLOW_UP_IDEMPOTENCY_TTL_SECONDS, THREAD_FOLLOW_UP_LIMITS, THREAD_FOLLOW_UP_ERRORS, PROGRESS_UPDATE_LIMITS, PAUSABLE_CAPABILITY_KINDS, UNIFIED_CATCH_UP_MAX_WINDOW_HOURS, UNIFIED_CATCH_UP_EVENTS, UNIFIED_CATCH_UP_FILTERABLE_OBJECT_TYPES, AGENT_NEVER_RULES_MAX, AGENT_NEVER_RULE_FIELD_MAX, AGENT_NEVER_RULE_INPUT_MATCH_MAX, NEVER_RULE_ID_PATTERN, NEVER_RULE_HTTP_METHODS, TEMPLATE_DISTRIBUTION_MODES, CHANNEL_SEND_CHANNELS, TAKEOVER_MAX_IDLE_MINUTES, MINUTES_PER_DAY, DEFAULT_IDLE_RELEASE_MINUTES, FALLBACK_IDLE_RELEASE_MINUTES, VARIATION_SELECTORS, SLACK_EMOJI_NAMES, SLACK_SHORTCODE, PLAIN_EMAIL_ADDRESS, DOMAIN, UNSAFE_TEXT, SLACK_CONVERSATION_ID, CHANNEL_SETTING_GROUPS, THREAD_SCOPING_NOUN, TAKEOVER_CHANNEL_TYPES, EMAIL_SETTINGS, SLACK_SETTING_DEFAULTS, SLACK_REACTION_MAX, SLACK_INTRO_MAX, SLACK_EXAMPLE_PROMPTS_MAX, SLACK_EXAMPLE_PROMPT_MAX, SLACK_SUPPORT_CONTACT_MAX, SLACK_SETTINGS, CHANNEL_SETTINGS, REVIEWABLE_ACTION_EXECUTE_TOOL_ALLOWLIST, REVIEWABLE_STANDING_START_TOOLS, REVIEWABLE_MCP_SEND_TOOL_SUFFIX, MCP_TOOL_READ_VERB_RE, MCP_DRAFT_CREATE_VERBS, NON_INTERACTIVE_CHANNELS, RICH_PARTS_MESSAGE_ID_PREFIX, SCREENSHOT_MESSAGE_ID_PREFIX, BROWSER_COMMANDS, BROWSER_COMMAND_NAMES, LOG_FIELDS_MAX_KEYS, LOG_FIELD_MAX_VALUE_BYTES, LOG_FIELDS_MAX_BYTES, LOG_FIELD_KEY_PATTERN, LOG_FIELD_SECRET_SHAPED_KEY_PATTERNS, LOG_FIELDS_CLAMPED_KEY, LOG_FIELD_ARRAY_COUNT_SUFFIX, LuaLogFieldsError, DESKTOP_FILE_COMMANDS, DESKTOP_FILE_COMMAND_SET, WORKFLOW_RETRY_BACKOFFS, WORKFLOW_RETRY_MIN_ATTEMPTS, WORKFLOW_RETRY_POLICY_KEYS, WORKFLOW_RETRY_MAX_ATTEMPTS, WORKFLOW_RETRY_ENGINE_KEYS, WORKFLOW_JOB_RESOURCES, WORKFLOW_SIDE_EFFECTS, WORKFLOW_MODEL_CLASSES, WORKFLOW_DEFAULT_TASK_CLASS_MAP, WORKFLOW_MODELS_MAX_CLASS_DEFAULT, WORKFLOW_AUTONOMY_NUMERIC_KEYS, WORKFLOW_AUTONOMY_ENVELOPE_KEYS, WORKFLOW_AUTONOMY_DEFAULTS, WORKFLOW_AUTONOMY_CEILINGS, WORKFLOW_AUTONOMY_MAX_RUNS_PER_HOUR_ENV, WORKFLOW_AUTONOMY_MAX_RUNS_PER_HOUR_CEILING, WORKFLOW_AUTONOMY_FORMS_DEFAULT, WORKFLOW_AUTONOMY_MIN_VALUE, WORKFLOW_JOB_RANGES, WORKFLOW_JOB_RANGE_MEMBERS, WORKFLOW_SINGLE_STEP_TYPES, WORKFLOW_HITL_ENTRY_TYPES, WORKFLOW_ARM_ENTRY_TYPES, WORKFLOW_HITL_ARM_CONTAINERS, WORKFLOW_GRAPH_ENTRY_STEP_KINDS, WORKFLOW_ARM_ENTRY_STEP_KINDS, WORKFLOW_BUDGET_MAX_DURATION_SECONDS, MODEL_ID_BYOK_PROVIDERS, MODEL_CLASS_REF_PREFIX, MODEL_SNAPSHOT_SUFFIX, REASONING_EFFORT_VALUES, IMPLICIT_MODEL_SELECTION_SOURCES, PLATFORM_FALLBACK_MODEL_SOURCE, AGENT_NAME_TOKEN, DEFAULT_PERSONA_GUIDE, PERSONAL_SPACE_STARTING_PERSONA, AGENT_LOG_SOURCES, AGENT_LOG_FIELDS_MAX_WIRE_KEYS, LOG_DRAIN_TYPES_PHASE1, LOG_DRAIN_TYPES_PHASE2, LOG_DRAIN_TYPES_IMPLEMENTED, LOG_DRAIN_SOURCES, LOG_DRAIN_MAX_PER_ORG, LOG_DRAIN_MAX_PER_ORG_ENTERPRISE, LOG_DRAIN_DATADOG_SITES, LOG_DRAIN_NEWRELIC_SITES, LOG_DRAIN_ENDPOINT_TEMPLATES, LOG_DRAIN_PRESET_SITES, LOG_DRAIN_BUCKET_NAME_PATTERN, LOG_DRAIN_BUCKET_HOST_PATTERNS, LOG_DRAIN_PRESET_HOST_SUFFIXES, DRAIN_CONTENT_ACK_ERROR_CODE, DRAIN_CONTENT_ACK_FIELD, DrainContentAckRequiredError, LOG_DRAIN_PRESET_PATHS, PRESET_SEGMENT_RE, LOG_DRAIN_QUOTAS, LOG_DRAIN_QUOTA_WARN_RATIO, LOG_DRAIN_QUOTA_DROP_DEBUG_RATIO, LOG_DRAIN_QUOTA_DROP_INFO_RATIO, LOG_DRAIN_QUOTA_PAUSE_RATIO, LOG_EXPORT_SOURCES, LOG_EXPORT_MAX_WINDOW_DAYS, LOG_EXPORT_MAX_WINDOW_MS, LOG_EXPORT_URL_TTL_SECONDS, LOG_EXPORT_FILE_RETENTION_DAYS, LOG_EXPORT_FILE_RETENTION_MS, LOG_EXPORT_PART_MAX_BYTES, LOG_DRAIN_NOTICE_RATE_LIMIT_MS, LOG_DRAIN_VERIFICATION_STALE_MS, LOG_DRAIN_DIGEST_INTERVAL_MS, LOG_DRAIN_DIGEST_MAX_ENTRIES, LOG_DRAIN_NOTICE_ERROR_MAX_CHARS, LOG_DRAIN_USAGE_LINE_ITEM, LOG_DRAIN_BYTES_PER_GIB, DEFAULT_LOG_DRAIN_PLAN_CONFIG, TIERS, LOG_CURSOR_MAX_LENGTH, LOG_CURSOR_MAX_ID_LENGTH, LOG_RELATIVE_TIME_PATTERN, LOG_ISO_TIME_PATTERN, RELATIVE_UNIT_MS, CORE_DRAINING_CODE, CORE_DRAINING_DEFAULT_RETRY_MS, CORE_DRAINING_MAX_RETRY_MS, VoiceNameSchema, PluginProviderSchema, RealtimeProviderSchema, PluginClassSchema, ModelDescriptorSchema, InferenceModelSchema, PluginModelSchema, RealtimeModelSchema, LuaVoiceModelSchema, TurnDetectionSchema, InterruptionSchema, BuiltinAudioClipSchema, AudioConfigSchema, BackgroundAudioEntrySchema, BackgroundAudioSchema, LuaVoiceConfigInnerSchema, LuaVoiceConfigSchema, LuaVoiceRefSchema, LUA_JOB_DEFAULT_TIMEOUT_SECONDS, LUA_JOB_MIN_TIMEOUT_SECONDS, LUA_JOB_MAX_TIMEOUT_SECONDS, KEYS, MAX_BODY_BYTES, MAX_ID_LENGTH, UTC_ISO, TEMPLATE_TRIGGER_URL_ENV_PREFIX, TEMPLATE_INSTALL_POLICY_PER_WORKSPACE_VALUES, SUBJECT_TYPES, SubjectTypeSchema, CREDENTIAL_TYPES, CredentialTypeSchema, DEVICE_OPERATIONS, DeviceOperationSchema, DEVICE_SCOPE_BY_OPERATION, DeviceBindingSchema, IdSchema, SESSION_AUTH_TIME_MAX_S, PrincipalDescriptorSchema, ActorDescriptorSchema, PrincipalOwnerSchema, CredentialLifecycleSchema, GeneralCredentialDescriptorSchema, DeviceCredentialDescriptorSchema, GeneralPrincipalContextSchema, DeviceCredentialPrincipalContextSchema, RawPrincipalContextSchema, PrincipalContextSchema, DeviceCredentialClaimSchema, LUA_CLIENT_HEADER, LUA_CLIENT_APPS, SEMVER_PATTERN, WEB_RELEASE_PATTERN, CLIENT_HEADER_PATTERN, LUA_SESSION_ID_CLAIM, SESSION_REVOKED_CODE, AUTHZ_PROJECTION_VERSION, ProjectedScopeSchema, DisplayRoleSchema, AuthorizationPrincipalSchema, CredentialContextSchema, ProjectionAnomalySchema, ProjectedOrgSchema, ProjectedResourceSchema, CapabilityProfilesSchema, RoleCatalogSchema, EffectiveAuthorizationSchema, ResourcePageSchema, SYSTEM_USER_PREFIX, WORKFLOW_RUN_IN_FLIGHT, WORKFLOW_RUN_IDLE, WORKFLOW_RUN_TERMINAL, WORKFLOW_RUN_STATUSES, WORKFLOW_RUN_GATE_KINDS, WORKFLOW_STEP_STATUSES, WORKFLOW_STEP_IN_FLIGHT, WORKFLOW_SIGNAL_EVENT_SITES, ARCHIVE_WINDOW_MARGIN_DAYS, WORKFLOW_ORG_PURGING_TTL_S, WORKFLOW_ORG_PURGE_FORCE_AFTER_MS, IDEMPOTENCY_HOLDING_STATUSES, WORKFLOW_SCHEDULED_RUN_ID_PREFIX, CLOUD_TASK_RUN_ID_PREFIX, WORKFLOW_SCHEDULE_KEY_MAX, WORKFLOW_SCHEDULE_IDEMPOTENCY_KEY_PREFIX, WORKFLOW_OPERATION_ID_PREFIX, WORKFLOW_CONNECTION_KEY_RE, WORKFLOW_AGENT_APP_CONNECTION_PREFIX, WORKFLOW_JOB_MODEL_SOURCE_LABELS, WORKFLOW_SUSPEND_KINDS, WORKFLOW_RUN_NOTIFICATION_SUSPENDED_KINDS, WORKFLOW_SIGNAL_PAYLOAD_MAX_BYTES, WORKFLOW_SIGNAL_NAME_RE, WORKFLOW_SUSPEND_DEFAULT_TIMEOUT_HOURS, WORKFLOW_RESOLVE_OUTPUT_MAX_BYTES, SCHEDULE_HEALTH_NOTIFY_CHANNELS, SCHEDULE_HEALTH_DEFAULT_NOTIFY, SCHEDULE_HEALTH_LIMITS, KNOWN_KEYS, WORKFLOW_GOAL_JUDGE_SELF, APPROVAL_ARGS_MAX_CHARS, APPROVAL_ARG_STRING_MAX_CHARS, APPROVAL_ARGS_SUMMARY_MAX_CHARS, MAX_DEPTH, MAX_KEYS, MAX_ITEMS, MAX_NODES, MAX_KEY_CHARS, KEY_SCRUB_INPUT_MAX_CHARS, STRING_SCRUB_INPUT_MAX_CHARS, ELLIPSIS, SKIP, SCRUB_SECRETS_BEFORE_PERSIST_ENV, PERSIST_SCRUB_MAX_CHARS, PERSIST_SCRUB_REF_MAX_CHARS, WORKFLOW_AUDIT_EVENTS, WORKFLOW_AUDIT_METADATA_MAX_BYTES, INDENT, WRAP_WIDTH, NOUNS, GET_TOOL_NAMES, PREAMBLE, WORKFLOW_APPROVAL_OUTPUT_DECISIONS, WORKFLOW_APPROVAL_OUTPUT_SCHEMA, JSON_FENCE_RE, DEFAULT_ON_AGENT_FEATURES, SUBAGENT_PER_KEY_FLAG_ENV, PER_KEY_FLAG_VALUES, ONBOARDING_FLOW_KEY, ONBOARDING_SCHEMA_VERSION, id, copy, onboardingHeadingSchema, onboardingRichTextInlineSchema, onboardingRichTextSchema, onboardingDestinationSchema, onboardingArtworkSchema, onboardingAnswerSchema, onboardingQuestionSchema, onboardingTemplateSectionSchema, onboardingInstallScreenSchema, onboardingResultScreenSchema, onboardingConnectScreenSchema, onboardingTemplateContentSchema, onboardingUnavailableOutcomeSchema, onboardingFlowSchema, onboardingActorSchema, onboardingEditorSchema, onboardingPublicationSummarySchema, onboardingValidationIssueSchema, onboardingValidationResponseSchema, onboardingAssetSchema, onboardingPublicAssetSchema, getOnboardingConfigResponseSchema, saveOnboardingDraftRequestSchema, validateOnboardingRequestSchema, publishOnboardingRequestSchema, rollbackOnboardingRequestSchema, onboardingTemplateCatalogItemSchema, getPublishedOnboardingResponseSchema, WEB_ROUTE_PROTOCOL_VERSION, WEB_ROUTE_METHODS, WEB_ROUTE_REQUEST_HEADER_ALLOWLIST, WEB_ROUTE_RESPONSE_HEADER_ALLOWLIST, WEB_ROUTE_MAX_REQUEST_BODY_BYTES, WEB_ROUTE_MAX_RESPONSE_BYTES, WEB_APP_NAME_PATTERN, WEB_APP_ENTRY_HTML_MAX_CHARS, WEB_APP_MAX_ASSET_BYTES, EVIDENCE_SESSION_IDLE_MS, EVIDENCE_MIN_CONVERSATIONS, EVIDENCE_LOW_CONFIDENCE_N, EVIDENCE_SNIPPET_MAX_CHARS, EVIDENCE_EXAMPLES_PER_ITEM, EVIDENCE_SHOWN_ITEMS, EVIDENCE_LATENCY_BOUNDS_MS, EVIDENCE_WORD_BOUNDS, BAD_CONVERSATION_REASONS, ATTACHMENT_LINES, REVIEW_VERDICT_REASON_ORDER, ENV_TEMPLATE_SECRET_KEY_RE, CONNECTION_SEND_NOT_ALLOWED, CONNECTION_RECIPIENT_NOT_ALLOWED, NOT_SEND, PLAIN_ADDRESS, RecipientSet, MCP_MESSAGING_CREATE, MCP_CALENDAR_EVENT_WRITE, REPLY_KEYS, DEDICATED_MAIL_SLUGS, FULL_SUITE_SLUGS, WELL_KNOWN_MAIL_FOLDERS, MEMBER_KEYS, CANONICAL_ORIGIN, CANONICAL_PREFIX, STRICT_BASE64, GMAIL_PREFIX, GMAIL_MESSAGES_SEND, GMAIL_DRAFTS_SEND, GOOGLE_BATCH, GRAPH_VERSION, GRAPH_PRINCIPAL, GRAPH_SEND_MAIL, GRAPH_MESSAGE_ACTION, GRAPH_OWNER, GRAPH_EVENTS, GRAPH_EVENT_COLLECTION, GRAPH_EVENT_ID, GRAPH_EVENT_ITEM, GRAPH_EVENT_ACTION, GRAPH_BATCH, GRAPH_TEAMS_MESSAGE, GRAPH_ACTIVITY_NOTIFICATION, GRAPH_GROUP_CONVERSATION, GCAL_EVENTS, GRAPH_READ_KEYS, MALFORMED_POLICY, BILLING_REJECTION_TEXT_CREDITS, BILLING_REJECTION_TEXT_SEAT, BILLING_REJECTION_TEXT_USER_QUOTA, CUSTOM_MCP_CONNECTION_ID_PREFIX, CUSTOM_MCP_SOURCE, CUSTOM_MCP_TRANSPORT, CUSTOM_MCP_CONNECTION_ID_PATTERN, customMcpConnectionIdSchema, CONNECTION_BACKED_MCP_SOURCES, CUSTOM_MCP_REFERENCE_ID_PATTERN, customMcpReferenceIdSchema, CUSTOM_MCP_AUTH_KINDS, customMcpAuthKindSchema, CUSTOM_MCP_OAUTH_REGISTRATIONS, customMcpOAuthRegistrationSchema, CUSTOM_MCP_HEALTH_STATES, customMcpHealthStateSchema, CUSTOM_MCP_FAILURE_STEPS, customMcpFailureStepSchema, CUSTOM_MCP_CONNECT_STEPS, customMcpConnectStepSchema, customMcpFailureCodeSchema, WORKFLOW_KEY_MAX_LENGTH, CUSTOM_MCP_URL_MAX_LENGTH, CUSTOM_MCP_DISPLAY_NAME_MAX_LENGTH, CUSTOM_MCP_MAX_HEADERS, CUSTOM_MCP_HEADER_NAME_MAX_LENGTH, CUSTOM_MCP_HEADER_VALUE_MAX_LENGTH, CUSTOM_MCP_MAX_TOOLS, CUSTOM_MCP_TOOL_NAME_MAX_LENGTH, CUSTOM_MCP_TOOL_TEXT_MAX_LENGTH, CUSTOM_MCP_MIN_TIMEOUT_MS, CUSTOM_MCP_MAX_TIMEOUT_MS, CUSTOM_MCP_OAUTH_PENDING_TTL_MS, isoDateTime, agentId, nonNegativeInt, customMcpUrlInputSchema, customMcpDisplayNameSchema, customMcpTimeoutSchema, CUSTOM_MCP_RESERVED_HEADER_NAMES, HEADER_NAME, HEADER_VALUE_FORBIDDEN, customMcpHeaderNameSchema, headerValue, customMcpHeadersSchema, customMcpHeadersPatchSchema, customMcpToolNameSchema, customMcpToolSchema, customMcpServerInfoSchema, customMcpToolSelectionSchema, customMcpToolsResponseSchema, customMcpFailureSchema, customMcpHealthSchema, customMcpErrorBodySchema, customMcpConnectionBlockSchema, customMcpConnectionViewSchema, customMcpConnectionResponseSchema, customMcpProbeBodySchema, customMcpOAuthDiscoverySchema, customMcpProbeResponseSchema, createFields, mountAgentField, customMcpCreateAgentBodySchema, customMcpCreateUserBodySchema, customMcpOAuthClientSchema, startFields, customMcpOAuthStartAgentBodySchema, customMcpOAuthStartUserBodySchema, customMcpOAuthStartResponseSchema, nonce, customMcpOAuthSuccessRedirectQuerySchema, CUSTOM_MCP_OAUTH_CALLBACK_ERRORS, customMcpOAuthFailureRedirectQuerySchema, customMcpOAuthFinalizeBodySchema, customMcpCimdDocumentSchema, customMcpPatchBodySchema, customMcpCredentialRequestSchema, customMcpCredentialAuthSchema, customMcpCredentialResponseSchema, CUSTOM_MCP_CREDENTIAL_ERRORS, customMcpCredentialErrorBodySchema, customMcpHealthReportSchema, customMcpProbeRequestSchema, customMcpProbeResultSchema, customMcpOriginUrlSchema, customMcpServerProjectionSchema, customMcpMountUpsertBodySchema;
|
|
6292
|
+
var __defProp3, __name3, PLUMBING_THREAD_CHANNELS, CHANNEL_CONVERSATION_CHANNELS, HIDDEN_THREAD_CHANNELS, CHOICE_PERSON_TURN_CHANNELS, CHOICE_REPLAY_CLIENT_CAPABILITIES, CHOICE_REPLAY_CLIENT_SURFACES, INTEGRATION_PASSTHROUGH_READ_METHODS, URL_REINTERPRETED_PATH_CHARACTERS, PERCENT_ENCODED_DOT, PERCENT_ESCAPE, DECODED_PATH_SEPARATORS, DECODED_LEADING_SEPARATOR, MAX_PERCENT_DECODE_ROUNDS, URL_RESOLUTION_PROBE_BASE, PLATFORM_INVOCATION_CALLERS, SUPERVISION_OPS, SUPERVISION_OPS_WAVE2, SUPERVISION_WATCHDOG_OPS, SUPERVISION_WATCHDOG_ERRORS, SUPERVISION_ROLLBACK_REFUSAL_CODES, SUPERVISION_ROLLBACK_LINEAGE_MAX, SUPERVISION_UNTARGETED_OPS, SUPERVISED_WORKFLOW_VERSIONS_MAX, SUPERVISION_EVENT_KINDS, AGENT_PROVISIONING_LIMITS, AGENT_PROVISIONING_APPROVAL_PAYLOAD_KEY, AGENT_PROVISIONING_ERRORS, PROVISIONED_SUPERVISION_ACTIONS, isNonEmptyString, uniqueStrings, sameSet, AGENT_PROVISIONING_APPROVAL_CARD_MAX_CHARS, APPROVAL_PAYLOAD_MEMBERS, AGENT_CONNECTION_POLICIES, AGENT_CONNECTION_POLICY_DEFAULT, AGENT_CONNECTION_MOUNT_MODES, AGENT_CONNECTION_GOVERNANCE_ERRORS, AGENT_CONNECTION_OPERATION_RULES_MAX, AGENT_CONNECTION_OPERATION_PATTERN_MAX_LENGTH, OPERATION_RULE_METHODS, PATH_SEPARATOR, PATH_SINGLE_SEGMENT_WILDCARD, PATH_REST_WILDCARD, METHOD_OVERRIDE_HEADER_NAMES, METHOD_OVERRIDE_QUERY_NAMES, ODATA_BATCH_SEGMENT, GOOGLE_BATCH_FIRST_SEGMENT, CONNECTION_CHECK_RESULTS, CONNECTION_CHECK_CATALOGUE_V1, CONNECTION_CHECK_NAME_PATTERN, CONNECTION_CHECK_NAME_MAX, CONNECT_OUTCOME_STATUSES, SECRET_TEST_RESULTS, SECRET_DATADOG_REGIONS, SECRET_PROVIDER_CATALOGUE_V1, SECRET_TEST_MAX_RESPONSE_BYTES, SECRET_ENV_KEY_PATTERN, SECRET_REQUEST_ERRORS, SECRET_OUTCOME_STATUSES, CLIENT_OUTCOME_TURNS_MAX, SHORT_TEXT_MAX, SLUG_MAX, shortText, optionalShortText, CONNECTION_REQUEST_TERMINAL_STATES, CONNECTION_USE_ORIGINS, AGENT_CONNECTION_OPERATION_LIMITS_BOUNDS, CURRENCY_CODE, LIMITS_KEYS, CAPS_KEYS, EXCLUSIONS_KEYS, EMAIL_IN_TEXT, MAX_EXCLUSION_DEPTH, PROJECTION_PARAMETER_KEYS, CHANNEL_PARAMETER_KEYS, GMAIL_SYSTEM_LABEL_IDS, ZERO_DECIMAL_CURRENCIES, THREE_DECIMAL_CURRENCIES, DECIMAL_AMOUNT, REDACTED_PLACEHOLDER, PROVIDER_MESSAGE_MAX_CHARS, ERROR_MESSAGE_MAX_CHARS, SECRET_LITERAL_PATTERNS, SECRET_NAME, SECRET_PAIR_PATTERNS, GROUP_COUNT, WORKFLOW_SECRET_KEY_RE, WORKFLOW_RESERVED_SECRET_KEYS, SCRUB_INPUT_MAX_CHARS, SCRUB_CUT_BACKOFF_CHARS, TEST_SESSION_ID_PATTERN, TEST_SESSION_COLLECTION_PREFIX, TEST_EFFECT_BODY_MAX_BYTES, TEST_EFFECT_DROPPED_HEADERS, EVAL_CREDITS_PER_1K_TOKENS, EVAL_RESERVED_TOOL_ID_PREFIXES, CONNECTION_HANDOVER_APPROVAL_PAYLOAD_KEY, CONNECTION_HANDOVER_APPROVAL_CARD_MAX_CHARS, CONNECTION_HANDOVER_LIMITS, MEMBERS, FORMAT_CHARS, oneLine, boundedString, AGENT_METRIC_NAME_PATTERN, AGENT_METRIC_LIMITS, AGENT_OBJECTIVE_ERRORS, CHANGE_LEASE_TTL_MINUTES_MIN, CHANGE_LEASE_TTL_MINUTES_MAX, CHANGE_LEASE_REASON_MAX, CHANGE_LEASE_ERRORS, AGENT_CONFIG_SET_LIMITS, SECRET_ENV_KEY_SUFFIXES, DEFAULT_OWNER_DEPARTURE_POLICY, AGENT_LIFECYCLE_ERRORS, USER_COST_COUNTER_TTL_SECONDS, USER_COST_ATTRIBUTION_CHANNELS, CALLER_DEDUPE_KEY_MAX, FOLLOW_UP_IDEMPOTENCY_TTL_SECONDS, THREAD_FOLLOW_UP_LIMITS, THREAD_FOLLOW_UP_ERRORS, PROGRESS_UPDATE_LIMITS, PAUSABLE_CAPABILITY_KINDS, UNIFIED_CATCH_UP_MAX_WINDOW_HOURS, UNIFIED_CATCH_UP_EVENTS, UNIFIED_CATCH_UP_FILTERABLE_OBJECT_TYPES, AGENT_NEVER_RULES_MAX, AGENT_NEVER_RULE_FIELD_MAX, AGENT_NEVER_RULE_INPUT_MATCH_MAX, NEVER_RULE_ID_PATTERN, NEVER_RULE_HTTP_METHODS, TEMPLATE_DISTRIBUTION_MODES, CHANNEL_SEND_CHANNELS, TAKEOVER_MAX_IDLE_MINUTES, MINUTES_PER_DAY, DEFAULT_IDLE_RELEASE_MINUTES, FALLBACK_IDLE_RELEASE_MINUTES, VARIATION_SELECTORS, SLACK_EMOJI_NAMES, SLACK_SHORTCODE, PLAIN_EMAIL_ADDRESS, DOMAIN, UNSAFE_TEXT, SLACK_CONVERSATION_ID, CHANNEL_SETTING_GROUPS, THREAD_SCOPING_NOUN, TAKEOVER_CHANNEL_TYPES, EMAIL_SETTINGS, SLACK_SETTING_DEFAULTS, SLACK_REACTION_MAX, SLACK_INTRO_MAX, SLACK_EXAMPLE_PROMPTS_MAX, SLACK_EXAMPLE_PROMPT_MAX, SLACK_SUPPORT_CONTACT_MAX, SLACK_SETTINGS, CHANNEL_SETTINGS, REVIEWABLE_ACTION_EXECUTE_TOOL_ALLOWLIST, REVIEWABLE_STANDING_START_TOOLS, REVIEWABLE_MCP_SEND_TOOL_SUFFIX, MCP_TOOL_READ_VERB_RE, MCP_DRAFT_CREATE_VERBS, NON_INTERACTIVE_CHANNELS, RICH_PARTS_MESSAGE_ID_PREFIX, SCREENSHOT_MESSAGE_ID_PREFIX, WORK_ITEMS_KEY, MAX_WORK_ITEMS, LIMITS, BROWSER_COMMANDS, BROWSER_COMMAND_NAMES, LOG_FIELDS_MAX_KEYS, LOG_FIELD_MAX_VALUE_BYTES, LOG_FIELDS_MAX_BYTES, LOG_FIELD_KEY_PATTERN, LOG_FIELD_SECRET_SHAPED_KEY_PATTERNS, LOG_FIELDS_CLAMPED_KEY, LOG_FIELD_ARRAY_COUNT_SUFFIX, LuaLogFieldsError, DESKTOP_FILE_COMMANDS, DESKTOP_FILE_COMMAND_SET, WORKFLOW_RETRY_BACKOFFS, WORKFLOW_RETRY_MIN_ATTEMPTS, WORKFLOW_RETRY_POLICY_KEYS, WORKFLOW_RETRY_MAX_ATTEMPTS, WORKFLOW_RETRY_ENGINE_KEYS, WORKFLOW_JOB_RESOURCES, WORKFLOW_SIDE_EFFECTS, WORKFLOW_MODEL_CLASSES, WORKFLOW_DEFAULT_TASK_CLASS_MAP, WORKFLOW_MODELS_MAX_CLASS_DEFAULT, WORKFLOW_AUTONOMY_NUMERIC_KEYS, WORKFLOW_AUTONOMY_ENVELOPE_KEYS, WORKFLOW_AUTONOMY_DEFAULTS, WORKFLOW_AUTONOMY_CEILINGS, WORKFLOW_AUTONOMY_MAX_RUNS_PER_HOUR_ENV, WORKFLOW_AUTONOMY_MAX_RUNS_PER_HOUR_CEILING, WORKFLOW_AUTONOMY_FORMS_DEFAULT, WORKFLOW_AUTONOMY_MIN_VALUE, WORKFLOW_JOB_RANGES, WORKFLOW_JOB_RANGE_MEMBERS, WORKFLOW_SINGLE_STEP_TYPES, WORKFLOW_HITL_ENTRY_TYPES, WORKFLOW_ARM_ENTRY_TYPES, WORKFLOW_HITL_ARM_CONTAINERS, WORKFLOW_GRAPH_ENTRY_STEP_KINDS, WORKFLOW_ARM_ENTRY_STEP_KINDS, WORKFLOW_BUDGET_MAX_DURATION_SECONDS, MODEL_ID_BYOK_PROVIDERS, MODEL_CLASS_REF_PREFIX, MODEL_SNAPSHOT_SUFFIX, REASONING_EFFORT_VALUES, IMPLICIT_MODEL_SELECTION_SOURCES, PLATFORM_FALLBACK_MODEL_SOURCE, AGENT_NAME_TOKEN, DEFAULT_PERSONA_GUIDE, PERSONAL_SPACE_STARTING_PERSONA, AGENT_LOG_SOURCES, AGENT_LOG_FIELDS_MAX_WIRE_KEYS, LOG_DRAIN_TYPES_PHASE1, LOG_DRAIN_TYPES_PHASE2, LOG_DRAIN_TYPES_IMPLEMENTED, LOG_DRAIN_SOURCES, LOG_DRAIN_MAX_PER_ORG, LOG_DRAIN_MAX_PER_ORG_ENTERPRISE, LOG_DRAIN_DATADOG_SITES, LOG_DRAIN_NEWRELIC_SITES, LOG_DRAIN_ENDPOINT_TEMPLATES, LOG_DRAIN_PRESET_SITES, LOG_DRAIN_BUCKET_NAME_PATTERN, LOG_DRAIN_BUCKET_HOST_PATTERNS, LOG_DRAIN_PRESET_HOST_SUFFIXES, DRAIN_CONTENT_ACK_ERROR_CODE, DRAIN_CONTENT_ACK_FIELD, DrainContentAckRequiredError, LOG_DRAIN_PRESET_PATHS, PRESET_SEGMENT_RE, LOG_DRAIN_QUOTAS, LOG_DRAIN_QUOTA_WARN_RATIO, LOG_DRAIN_QUOTA_DROP_DEBUG_RATIO, LOG_DRAIN_QUOTA_DROP_INFO_RATIO, LOG_DRAIN_QUOTA_PAUSE_RATIO, LOG_EXPORT_SOURCES, LOG_EXPORT_MAX_WINDOW_DAYS, LOG_EXPORT_MAX_WINDOW_MS, LOG_EXPORT_URL_TTL_SECONDS, LOG_EXPORT_FILE_RETENTION_DAYS, LOG_EXPORT_FILE_RETENTION_MS, LOG_EXPORT_PART_MAX_BYTES, LOG_DRAIN_NOTICE_RATE_LIMIT_MS, LOG_DRAIN_VERIFICATION_STALE_MS, LOG_DRAIN_DIGEST_INTERVAL_MS, LOG_DRAIN_DIGEST_MAX_ENTRIES, LOG_DRAIN_NOTICE_ERROR_MAX_CHARS, LOG_DRAIN_USAGE_LINE_ITEM, LOG_DRAIN_BYTES_PER_GIB, DEFAULT_LOG_DRAIN_PLAN_CONFIG, TIERS, LOG_CURSOR_MAX_LENGTH, LOG_CURSOR_MAX_ID_LENGTH, LOG_RELATIVE_TIME_PATTERN, LOG_ISO_TIME_PATTERN, RELATIVE_UNIT_MS, CORE_DRAINING_CODE, CORE_DRAINING_DEFAULT_RETRY_MS, CORE_DRAINING_MAX_RETRY_MS, VoiceNameSchema, PluginProviderSchema, RealtimeProviderSchema, PluginClassSchema, ModelDescriptorSchema, InferenceModelSchema, PluginModelSchema, RealtimeModelSchema, LuaVoiceModelSchema, TurnDetectionSchema, InterruptionSchema, BuiltinAudioClipSchema, AudioConfigSchema, BackgroundAudioEntrySchema, BackgroundAudioSchema, LuaVoiceConfigInnerSchema, LuaVoiceConfigSchema, LuaVoiceRefSchema, LUA_JOB_DEFAULT_TIMEOUT_SECONDS, LUA_JOB_MIN_TIMEOUT_SECONDS, LUA_JOB_MAX_TIMEOUT_SECONDS, KEYS, MAX_BODY_BYTES, MAX_ID_LENGTH, UTC_ISO, TEMPLATE_TRIGGER_URL_ENV_PREFIX, TEMPLATE_INSTALL_POLICY_PER_WORKSPACE_VALUES, SUBJECT_TYPES, SubjectTypeSchema, CREDENTIAL_TYPES, CredentialTypeSchema, DEVICE_OPERATIONS, DeviceOperationSchema, DEVICE_SCOPE_BY_OPERATION, DeviceBindingSchema, IdSchema, SESSION_AUTH_TIME_MAX_S, PrincipalDescriptorSchema, ActorDescriptorSchema, PrincipalOwnerSchema, CredentialLifecycleSchema, GeneralCredentialDescriptorSchema, DeviceCredentialDescriptorSchema, GeneralPrincipalContextSchema, DeviceCredentialPrincipalContextSchema, RawPrincipalContextSchema, PrincipalContextSchema, DeviceCredentialClaimSchema, LUA_CLIENT_HEADER, LUA_CLIENT_APPS, SEMVER_PATTERN, WEB_RELEASE_PATTERN, CLIENT_HEADER_PATTERN, LUA_SESSION_ID_CLAIM, SESSION_REVOKED_CODE, AUTHZ_PROJECTION_VERSION, ProjectedScopeSchema, DisplayRoleSchema, AuthorizationPrincipalSchema, CredentialContextSchema, ProjectionAnomalySchema, ProjectedOrgSchema, ProjectedResourceSchema, CapabilityProfilesSchema, RoleCatalogSchema, EffectiveAuthorizationSchema, ResourcePageSchema, SYSTEM_USER_PREFIX, WORKFLOW_RUN_IN_FLIGHT, WORKFLOW_RUN_IDLE, WORKFLOW_RUN_TERMINAL, WORKFLOW_RUN_STATUSES, WORKFLOW_RUN_GATE_KINDS, WORKFLOW_STEP_STATUSES, WORKFLOW_STEP_IN_FLIGHT, WORKFLOW_SIGNAL_EVENT_SITES, ARCHIVE_WINDOW_MARGIN_DAYS, WORKFLOW_ORG_PURGING_TTL_S, WORKFLOW_ORG_PURGE_FORCE_AFTER_MS, IDEMPOTENCY_HOLDING_STATUSES, WORKFLOW_SCHEDULED_RUN_ID_PREFIX, CLOUD_TASK_RUN_ID_PREFIX, WORKFLOW_SCHEDULE_KEY_MAX, WORKFLOW_SCHEDULE_IDEMPOTENCY_KEY_PREFIX, WORKFLOW_OPERATION_ID_PREFIX, WORKFLOW_CONNECTION_KEY_RE, WORKFLOW_AGENT_APP_CONNECTION_PREFIX, WORKFLOW_JOB_MODEL_SOURCE_LABELS, WORKFLOW_SUSPEND_KINDS, WORKFLOW_RUN_NOTIFICATION_SUSPENDED_KINDS, WORKFLOW_SIGNAL_PAYLOAD_MAX_BYTES, WORKFLOW_SIGNAL_NAME_RE, WORKFLOW_SUSPEND_DEFAULT_TIMEOUT_HOURS, WORKFLOW_RESOLVE_OUTPUT_MAX_BYTES, SCHEDULE_HEALTH_NOTIFY_CHANNELS, SCHEDULE_HEALTH_DEFAULT_NOTIFY, SCHEDULE_HEALTH_LIMITS, KNOWN_KEYS, WORKFLOW_GOAL_JUDGE_SELF, APPROVAL_ARGS_MAX_CHARS, APPROVAL_ARG_STRING_MAX_CHARS, APPROVAL_ARGS_SUMMARY_MAX_CHARS, MAX_DEPTH, MAX_KEYS, MAX_ITEMS, MAX_NODES, MAX_KEY_CHARS, KEY_SCRUB_INPUT_MAX_CHARS, STRING_SCRUB_INPUT_MAX_CHARS, ELLIPSIS, SKIP, SCRUB_SECRETS_BEFORE_PERSIST_ENV, PERSIST_SCRUB_MAX_CHARS, PERSIST_SCRUB_REF_MAX_CHARS, WORKFLOW_AUDIT_EVENTS, WORKFLOW_AUDIT_METADATA_MAX_BYTES, INDENT, WRAP_WIDTH, NOUNS, GET_TOOL_NAMES, PREAMBLE, WORKFLOW_APPROVAL_OUTPUT_DECISIONS, WORKFLOW_APPROVAL_OUTPUT_SCHEMA, JSON_FENCE_RE, DEFAULT_ON_AGENT_FEATURES, SUBAGENT_PER_KEY_FLAG_ENV, PER_KEY_FLAG_VALUES, ONBOARDING_FLOW_KEY, ONBOARDING_SCHEMA_VERSION, id, copy, onboardingHeadingSchema, onboardingRichTextInlineSchema, onboardingRichTextSchema, onboardingDestinationSchema, onboardingArtworkSchema, onboardingAnswerSchema, onboardingQuestionSchema, onboardingTemplateSectionSchema, onboardingInstallScreenSchema, onboardingResultScreenSchema, onboardingConnectScreenSchema, onboardingTemplateContentSchema, onboardingUnavailableOutcomeSchema, onboardingFlowSchema, onboardingActorSchema, onboardingEditorSchema, onboardingPublicationSummarySchema, onboardingValidationIssueSchema, onboardingValidationResponseSchema, onboardingAssetSchema, onboardingPublicAssetSchema, getOnboardingConfigResponseSchema, saveOnboardingDraftRequestSchema, validateOnboardingRequestSchema, publishOnboardingRequestSchema, rollbackOnboardingRequestSchema, onboardingTemplateCatalogItemSchema, getPublishedOnboardingResponseSchema, WEB_ROUTE_PROTOCOL_VERSION, WEB_ROUTE_METHODS, WEB_ROUTE_REQUEST_HEADER_ALLOWLIST, WEB_ROUTE_RESPONSE_HEADER_ALLOWLIST, WEB_ROUTE_MAX_REQUEST_BODY_BYTES, WEB_ROUTE_MAX_RESPONSE_BYTES, WEB_APP_NAME_PATTERN, WEB_APP_ENTRY_HTML_MAX_CHARS, WEB_APP_MAX_ASSET_BYTES, EVIDENCE_SESSION_IDLE_MS, EVIDENCE_MIN_CONVERSATIONS, EVIDENCE_LOW_CONFIDENCE_N, EVIDENCE_SNIPPET_MAX_CHARS, EVIDENCE_EXAMPLES_PER_ITEM, EVIDENCE_SHOWN_ITEMS, EVIDENCE_LATENCY_BOUNDS_MS, EVIDENCE_WORD_BOUNDS, BAD_CONVERSATION_REASONS, ATTACHMENT_LINES, REVIEW_VERDICT_REASON_ORDER, ENV_TEMPLATE_SECRET_KEY_RE, CONNECTION_SEND_NOT_ALLOWED, CONNECTION_RECIPIENT_NOT_ALLOWED, NOT_SEND, PLAIN_ADDRESS, RecipientSet, MCP_MESSAGING_CREATE, MCP_CALENDAR_EVENT_WRITE, REPLY_KEYS, DEDICATED_MAIL_SLUGS, FULL_SUITE_SLUGS, WELL_KNOWN_MAIL_FOLDERS, MEMBER_KEYS, CANONICAL_ORIGIN, CANONICAL_PREFIX, STRICT_BASE64, GMAIL_PREFIX, GMAIL_MESSAGES_SEND, GMAIL_DRAFTS_SEND, GOOGLE_BATCH, GRAPH_VERSION, GRAPH_PRINCIPAL, GRAPH_SEND_MAIL, GRAPH_MESSAGE_ACTION, GRAPH_OWNER, GRAPH_EVENTS, GRAPH_EVENT_COLLECTION, GRAPH_EVENT_ID, GRAPH_EVENT_ITEM, GRAPH_EVENT_ACTION, GRAPH_BATCH, GRAPH_TEAMS_MESSAGE, GRAPH_ACTIVITY_NOTIFICATION, GRAPH_GROUP_CONVERSATION, GCAL_EVENTS, GRAPH_READ_KEYS, MALFORMED_POLICY, BILLING_REJECTION_TEXT_CREDITS, BILLING_REJECTION_TEXT_SEAT, BILLING_REJECTION_TEXT_USER_QUOTA, CUSTOM_MCP_CONNECTION_ID_PREFIX, CUSTOM_MCP_SOURCE, CUSTOM_MCP_TRANSPORT, CUSTOM_MCP_CONNECTION_ID_PATTERN, customMcpConnectionIdSchema, CONNECTION_BACKED_MCP_SOURCES, CUSTOM_MCP_REFERENCE_ID_PATTERN, customMcpReferenceIdSchema, CUSTOM_MCP_AUTH_KINDS, customMcpAuthKindSchema, CUSTOM_MCP_OAUTH_REGISTRATIONS, customMcpOAuthRegistrationSchema, CUSTOM_MCP_HEALTH_STATES, customMcpHealthStateSchema, CUSTOM_MCP_FAILURE_STEPS, customMcpFailureStepSchema, CUSTOM_MCP_CONNECT_STEPS, customMcpConnectStepSchema, customMcpFailureCodeSchema, WORKFLOW_KEY_MAX_LENGTH, CUSTOM_MCP_URL_MAX_LENGTH, CUSTOM_MCP_DISPLAY_NAME_MAX_LENGTH, CUSTOM_MCP_MAX_HEADERS, CUSTOM_MCP_HEADER_NAME_MAX_LENGTH, CUSTOM_MCP_HEADER_VALUE_MAX_LENGTH, CUSTOM_MCP_MAX_TOOLS, CUSTOM_MCP_TOOL_NAME_MAX_LENGTH, CUSTOM_MCP_TOOL_TEXT_MAX_LENGTH, CUSTOM_MCP_MIN_TIMEOUT_MS, CUSTOM_MCP_MAX_TIMEOUT_MS, CUSTOM_MCP_OAUTH_PENDING_TTL_MS, isoDateTime, agentId, nonNegativeInt, customMcpUrlInputSchema, customMcpDisplayNameSchema, customMcpTimeoutSchema, CUSTOM_MCP_RESERVED_HEADER_NAMES, HEADER_NAME, HEADER_VALUE_FORBIDDEN, customMcpHeaderNameSchema, headerValue, customMcpHeadersSchema, customMcpHeadersPatchSchema, customMcpToolNameSchema, customMcpToolSchema, customMcpServerInfoSchema, customMcpToolSelectionSchema, customMcpToolsResponseSchema, customMcpFailureSchema, customMcpHealthSchema, customMcpErrorBodySchema, customMcpConnectionBlockSchema, customMcpConnectionViewSchema, customMcpConnectionResponseSchema, customMcpProbeBodySchema, customMcpOAuthDiscoverySchema, customMcpProbeResponseSchema, createFields, mountAgentField, customMcpCreateAgentBodySchema, customMcpCreateUserBodySchema, customMcpOAuthClientSchema, startFields, customMcpOAuthStartAgentBodySchema, customMcpOAuthStartUserBodySchema, customMcpOAuthStartResponseSchema, nonce, customMcpOAuthSuccessRedirectQuerySchema, CUSTOM_MCP_OAUTH_CALLBACK_ERRORS, customMcpOAuthFailureRedirectQuerySchema, customMcpOAuthFinalizeBodySchema, customMcpCimdDocumentSchema, customMcpPatchBodySchema, customMcpCredentialRequestSchema, customMcpCredentialAuthSchema, customMcpCredentialResponseSchema, CUSTOM_MCP_CREDENTIAL_ERRORS, customMcpCredentialErrorBodySchema, customMcpHealthReportSchema, customMcpProbeRequestSchema, customMcpProbeResultSchema, customMcpOriginUrlSchema, customMcpServerProjectionSchema, customMcpMountUpsertBodySchema;
|
|
6216
6293
|
var init_dist = __esm({
|
|
6217
6294
|
"../shared-types/dist/index.mjs"() {
|
|
6218
6295
|
"use strict";
|
|
@@ -7507,7 +7584,7 @@ var init_dist = __esm({
|
|
|
7507
7584
|
FORMAT_CHARS = /[\p{Cf}\u200b-\u200d\u202a-\u202e\u2066-\u2069\ufeff]/u;
|
|
7508
7585
|
__name(hasFormatCharacters, "hasFormatCharacters");
|
|
7509
7586
|
__name3(hasFormatCharacters, "hasFormatCharacters");
|
|
7510
|
-
oneLine = /* @__PURE__ */ __name3((
|
|
7587
|
+
oneLine = /* @__PURE__ */ __name3((text2) => text2.replace(/[\u0000-\u001f\u007f-\u009f\u2028\u2029"\u201c\u201d]/g, " ").replace(/\s+/g, " ").trim(), "oneLine");
|
|
7511
7588
|
__name(normalizedHandoverName, "normalizedHandoverName");
|
|
7512
7589
|
__name3(normalizedHandoverName, "normalizedHandoverName");
|
|
7513
7590
|
__name(handoverAgentIdSuffix, "handoverAgentIdSuffix");
|
|
@@ -8246,6 +8323,25 @@ var init_dist = __esm({
|
|
|
8246
8323
|
__name3(citationDedupeKeys, "citationDedupeKeys");
|
|
8247
8324
|
__name(foldRichPartsIntoMessages, "foldRichPartsIntoMessages");
|
|
8248
8325
|
__name3(foldRichPartsIntoMessages, "foldRichPartsIntoMessages");
|
|
8326
|
+
WORK_ITEMS_KEY = "_luaWorkItems";
|
|
8327
|
+
MAX_WORK_ITEMS = 100;
|
|
8328
|
+
LIMITS = {
|
|
8329
|
+
id: 200,
|
|
8330
|
+
title: 120,
|
|
8331
|
+
group: 40,
|
|
8332
|
+
status: 40,
|
|
8333
|
+
action: 200
|
|
8334
|
+
};
|
|
8335
|
+
__name(text, "text");
|
|
8336
|
+
__name3(text, "text");
|
|
8337
|
+
__name(normalizeWorkItems, "normalizeWorkItems");
|
|
8338
|
+
__name3(normalizeWorkItems, "normalizeWorkItems");
|
|
8339
|
+
__name(workItemsRecord, "workItemsRecord");
|
|
8340
|
+
__name3(workItemsRecord, "workItemsRecord");
|
|
8341
|
+
__name(withoutWorkItems, "withoutWorkItems");
|
|
8342
|
+
__name3(withoutWorkItems, "withoutWorkItems");
|
|
8343
|
+
__name(mutationWithoutWorkItems, "mutationWithoutWorkItems");
|
|
8344
|
+
__name3(mutationWithoutWorkItems, "mutationWithoutWorkItems");
|
|
8249
8345
|
BROWSER_COMMANDS = [
|
|
8250
8346
|
// health + lifecycle / navigation
|
|
8251
8347
|
{
|
|
@@ -13835,17 +13931,17 @@ function firstAskDeadline(node) {
|
|
|
13835
13931
|
return void 0;
|
|
13836
13932
|
}
|
|
13837
13933
|
function liftRenderedApprover(row, rendered) {
|
|
13838
|
-
const
|
|
13839
|
-
if (!
|
|
13934
|
+
const text2 = (rendered ?? "").trim();
|
|
13935
|
+
if (!text2) return null;
|
|
13840
13936
|
if (row === "users") {
|
|
13841
13937
|
let members = null;
|
|
13842
|
-
if (
|
|
13938
|
+
if (text2.startsWith("[")) {
|
|
13843
13939
|
try {
|
|
13844
|
-
members = JSON.parse(
|
|
13940
|
+
members = JSON.parse(text2);
|
|
13845
13941
|
} catch {
|
|
13846
13942
|
return null;
|
|
13847
13943
|
}
|
|
13848
|
-
} else members =
|
|
13944
|
+
} else members = text2.split(",").map((s) => s.trim());
|
|
13849
13945
|
if (!Array.isArray(members) || members.length === 0 || members.length > APPROVER_SPEC_MAX_USERS) return null;
|
|
13850
13946
|
if (!members.every((m) => typeof m === "string" && m.length > 0 && m.length <= 128)) return null;
|
|
13851
13947
|
return {
|
|
@@ -13854,11 +13950,11 @@ function liftRenderedApprover(row, rendered) {
|
|
|
13854
13950
|
].sort()
|
|
13855
13951
|
};
|
|
13856
13952
|
}
|
|
13857
|
-
if (
|
|
13953
|
+
if (text2.length > 128 || text2.startsWith("[") || text2.startsWith("{")) return null;
|
|
13858
13954
|
return row === "role" ? {
|
|
13859
|
-
role:
|
|
13955
|
+
role: text2
|
|
13860
13956
|
} : {
|
|
13861
|
-
group:
|
|
13957
|
+
group: text2
|
|
13862
13958
|
};
|
|
13863
13959
|
}
|
|
13864
13960
|
function approverUsersOf(users) {
|
|
@@ -14015,9 +14111,9 @@ function schemaAtPath(schema, path3) {
|
|
|
14015
14111
|
}
|
|
14016
14112
|
return cur;
|
|
14017
14113
|
}
|
|
14018
|
-
function templateStepRefs(
|
|
14114
|
+
function templateStepRefs(text2) {
|
|
14019
14115
|
const ids = [];
|
|
14020
|
-
for (const m of
|
|
14116
|
+
for (const m of text2.matchAll(TEMPLATE_STEP_REF)) ids.push(m[1]);
|
|
14021
14117
|
return ids;
|
|
14022
14118
|
}
|
|
14023
14119
|
function readMapConfig(raw) {
|
|
@@ -19483,17 +19579,17 @@ var init_dist3 = __esm({
|
|
|
19483
19579
|
body: body !== void 0 ? JSON.stringify(body) : void 0
|
|
19484
19580
|
});
|
|
19485
19581
|
if (!res.ok) {
|
|
19486
|
-
let
|
|
19582
|
+
let text22;
|
|
19487
19583
|
try {
|
|
19488
|
-
|
|
19584
|
+
text22 = await res.text();
|
|
19489
19585
|
} catch {
|
|
19490
|
-
|
|
19586
|
+
text22 = void 0;
|
|
19491
19587
|
}
|
|
19492
|
-
throw new BackupHttpError(`Backup request failed: ${method} ${path3} \u2192 ${res.status} ${res.statusText}`, res.status, endpoint,
|
|
19588
|
+
throw new BackupHttpError(`Backup request failed: ${method} ${path3} \u2192 ${res.status} ${res.statusText}`, res.status, endpoint, text22);
|
|
19493
19589
|
}
|
|
19494
|
-
const
|
|
19495
|
-
if (!
|
|
19496
|
-
return JSON.parse(
|
|
19590
|
+
const text2 = await res.text();
|
|
19591
|
+
if (!text2) return void 0;
|
|
19592
|
+
return JSON.parse(text2);
|
|
19497
19593
|
}
|
|
19498
19594
|
/**
|
|
19499
19595
|
* `POST /backup/check-blobs` — returns existing vs missing partition.
|
|
@@ -21813,6 +21909,7 @@ var UserDataInstance;
|
|
|
21813
21909
|
var init_user_instance = __esm({
|
|
21814
21910
|
"src/instances/user.instance.ts"() {
|
|
21815
21911
|
"use strict";
|
|
21912
|
+
init_dist();
|
|
21816
21913
|
__name(omit, "omit");
|
|
21817
21914
|
UserDataInstance = class {
|
|
21818
21915
|
static {
|
|
@@ -21873,6 +21970,8 @@ var init_user_instance = __esm({
|
|
|
21873
21970
|
"patch",
|
|
21874
21971
|
"unset",
|
|
21875
21972
|
"clear",
|
|
21973
|
+
"setWorkItems",
|
|
21974
|
+
"clearWorkItems",
|
|
21876
21975
|
"toJSON",
|
|
21877
21976
|
"_luaProfile"
|
|
21878
21977
|
];
|
|
@@ -21973,7 +22072,40 @@ var init_user_instance = __esm({
|
|
|
21973
22072
|
});
|
|
21974
22073
|
}
|
|
21975
22074
|
/**
|
|
21976
|
-
*
|
|
22075
|
+
* Publishes this user's My work list (LUA-1028): the open work they see in Frontline's "My work",
|
|
22076
|
+
* replacing the previous list. Publish whenever the work changes, for everyone it affects.
|
|
22077
|
+
* @param items - At most 100 items; each `action` is the message sent when the user taps it
|
|
22078
|
+
* @throws Error naming the first invalid item (nothing is sent), or if the write fails
|
|
22079
|
+
*
|
|
22080
|
+
* @example
|
|
22081
|
+
* const technician = await User.get({ phone: '+254700000000' });
|
|
22082
|
+
* await technician?.setWorkItems([
|
|
22083
|
+
* { id: 'MNT-00123', title: 'MNT-00123 · Fryer not heating', group: 'Assigned to you',
|
|
22084
|
+
* status: 'In progress', updatedAt: new Date(), action: 'Show MNT-00123' },
|
|
22085
|
+
* ]);
|
|
22086
|
+
*/
|
|
22087
|
+
async setWorkItems(items) {
|
|
22088
|
+
normalizeWorkItems(items);
|
|
22089
|
+
try {
|
|
22090
|
+
this.data = await this.userAPI.setWorkItems(items);
|
|
22091
|
+
} catch (error) {
|
|
22092
|
+
throw new Error("Failed to set work items", {
|
|
22093
|
+
cause: error
|
|
22094
|
+
});
|
|
22095
|
+
}
|
|
22096
|
+
}
|
|
22097
|
+
/** Removes this user's My work list. */
|
|
22098
|
+
async clearWorkItems() {
|
|
22099
|
+
try {
|
|
22100
|
+
this.data = await this.userAPI.clearWorkItems();
|
|
22101
|
+
} catch (error) {
|
|
22102
|
+
throw new Error("Failed to clear work items", {
|
|
22103
|
+
cause: error
|
|
22104
|
+
});
|
|
22105
|
+
}
|
|
22106
|
+
}
|
|
22107
|
+
/**
|
|
22108
|
+
* Clears all user data for the current user (the My work list included)
|
|
21977
22109
|
* @returns Promise resolving to `{ success: true }` if clearing was successful
|
|
21978
22110
|
* @throws Error if the clear operation fails
|
|
21979
22111
|
*/
|
|
@@ -22040,6 +22172,7 @@ var init_user_data_api_service = __esm({
|
|
|
22040
22172
|
init_http_client();
|
|
22041
22173
|
init_user_instance();
|
|
22042
22174
|
init_lazy_instances();
|
|
22175
|
+
init_dist();
|
|
22043
22176
|
UserDataApi = class _UserDataApi extends HttpClient {
|
|
22044
22177
|
static {
|
|
22045
22178
|
__name(this, "UserDataApi");
|
|
@@ -22087,7 +22220,7 @@ var init_user_data_api_service = __esm({
|
|
|
22087
22220
|
throw new Error(response.error?.message || "Failed to get user data");
|
|
22088
22221
|
}
|
|
22089
22222
|
const profile = response.data?._luaProfile;
|
|
22090
|
-
const { _luaProfile, ...data } = response.data || {};
|
|
22223
|
+
const { _luaProfile, ...data } = withoutWorkItems(response.data || {});
|
|
22091
22224
|
const scopedApi = userId ? new _UserDataApi(this.baseUrl, this.credential, this.agentId, userId) : this;
|
|
22092
22225
|
return new UserDataInstance(scopedApi, data, profile);
|
|
22093
22226
|
}
|
|
@@ -22126,19 +22259,41 @@ var init_user_data_api_service = __esm({
|
|
|
22126
22259
|
* @throws Error if the update fails or the request is unsuccessful
|
|
22127
22260
|
*/
|
|
22128
22261
|
async update(data) {
|
|
22129
|
-
const response = await this.httpPut(this.dataPath, data, {});
|
|
22262
|
+
const response = await this.httpPut(this.dataPath, withoutWorkItems(data), {});
|
|
22130
22263
|
if (!response.success) {
|
|
22131
22264
|
throw new Error(response.error?.message || "Failed to update user data");
|
|
22132
22265
|
}
|
|
22133
|
-
const { _luaProfile, ...cleanData } = response.data || {};
|
|
22266
|
+
const { _luaProfile, ...cleanData } = withoutWorkItems(response.data || {});
|
|
22134
22267
|
return cleanData;
|
|
22135
22268
|
}
|
|
22136
22269
|
async patch(mutation) {
|
|
22270
|
+
return this.sendPatch(mutationWithoutWorkItems(mutation));
|
|
22271
|
+
}
|
|
22272
|
+
/**
|
|
22273
|
+
* Publishes the user's My work list (LUA-1028), replacing the previous one. Validated first;
|
|
22274
|
+
* a wrong shape throws before anything is sent.
|
|
22275
|
+
*/
|
|
22276
|
+
async setWorkItems(items) {
|
|
22277
|
+
return this.sendPatch({
|
|
22278
|
+
set: {
|
|
22279
|
+
[WORK_ITEMS_KEY]: workItemsRecord(items)
|
|
22280
|
+
}
|
|
22281
|
+
});
|
|
22282
|
+
}
|
|
22283
|
+
/** Removes the user's My work list. */
|
|
22284
|
+
async clearWorkItems() {
|
|
22285
|
+
return this.sendPatch({
|
|
22286
|
+
unset: [
|
|
22287
|
+
WORK_ITEMS_KEY
|
|
22288
|
+
]
|
|
22289
|
+
});
|
|
22290
|
+
}
|
|
22291
|
+
async sendPatch(mutation) {
|
|
22137
22292
|
const response = await this.httpPatch(this.dataPath, mutation, {});
|
|
22138
22293
|
if (!response.success) {
|
|
22139
22294
|
throw new Error(response.error?.message || "Failed to patch user data");
|
|
22140
22295
|
}
|
|
22141
|
-
const { _luaProfile, ...cleanData } = response.data || {};
|
|
22296
|
+
const { _luaProfile, ...cleanData } = withoutWorkItems(response.data || {});
|
|
22142
22297
|
return cleanData;
|
|
22143
22298
|
}
|
|
22144
22299
|
/**
|
|
@@ -25878,10 +26033,10 @@ var log = Object.freeze({
|
|
|
25878
26033
|
});
|
|
25879
26034
|
function emitLocalLog(level, message, fields) {
|
|
25880
26035
|
const normalized = normalizeLogFields(fields);
|
|
25881
|
-
const
|
|
26036
|
+
const text2 = typeof message === "object" && message !== null ? JSON.stringify(message) : String(message);
|
|
25882
26037
|
const write = level === "error" ? console.error : level === "warn" ? console.warn : level === "info" ? console.info : console.debug;
|
|
25883
|
-
if (normalized) write(
|
|
25884
|
-
else write(
|
|
26038
|
+
if (normalized) write(text2, JSON.stringify(normalized));
|
|
26039
|
+
else write(text2);
|
|
25885
26040
|
}
|
|
25886
26041
|
__name(emitLocalLog, "emitLocalLog");
|
|
25887
26042
|
var ToolFlag = /* @__PURE__ */ (function(ToolFlag2) {
|