@rubytech/create-maxy-code 0.1.596 → 0.1.597
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/package.json +1 -1
- package/payload/platform/lib/routine-templates/dist/roster.d.ts +1 -1
- package/payload/platform/lib/routine-templates/dist/roster.d.ts.map +1 -1
- package/payload/platform/lib/routine-templates/dist/roster.js +22 -1
- package/payload/platform/lib/routine-templates/dist/roster.js.map +1 -1
- package/payload/platform/lib/routine-templates/src/__tests__/roster.test.ts +0 -0
- package/payload/platform/lib/routine-templates/src/__tests__/seed.test.ts +16 -0
- package/payload/platform/lib/routine-templates/src/roster.ts +24 -1
- package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +7 -6
- package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +6 -0
- package/payload/platform/plugins/docs/references/admin-ui.md +6 -5
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js +40 -12
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js +85 -63
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/card-store.test.js +61 -3
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/card-store.test.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/card-tool.test.js +122 -2
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/card-tool.test.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/card-store.d.ts +26 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/card-store.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/card-store.js +73 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/card-store.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/card.d.ts +5 -0
- package/payload/platform/plugins/telegram/mcp/dist/tools/card.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/card.js +101 -8
- package/payload/platform/plugins/telegram/mcp/dist/tools/card.js.map +1 -1
- package/payload/server/public/activity.html +6 -6
- package/payload/server/public/agents.html +5 -5
- package/payload/server/public/assets/{AdminLoginScreens-dBZJlMbp.js → AdminLoginScreens-B3W6J6Bl.js} +1 -1
- package/payload/server/public/assets/AdminLoginScreens-B3W6J6Bl.js.br +0 -0
- package/payload/server/public/assets/AdminLoginScreens-B3W6J6Bl.js.gz +0 -0
- package/payload/server/public/assets/{AdminShell-D94sgtsb.js → AdminShell-C3R-vMZ5.js} +1 -1
- package/payload/server/public/assets/AdminShell-C3R-vMZ5.js.br +0 -0
- package/payload/server/public/assets/AdminShell-C3R-vMZ5.js.gz +0 -0
- package/payload/server/public/assets/{activity-D6NEUvT7.js → activity-tzv68iBs.js} +1 -1
- package/payload/server/public/assets/activity-tzv68iBs.js.br +0 -0
- package/payload/server/public/assets/activity-tzv68iBs.js.gz +0 -0
- package/payload/server/public/assets/{admin-BluqXSKn.js → admin-CzW_9jm3.js} +1 -1
- package/payload/server/public/assets/admin-CzW_9jm3.js.br +0 -0
- package/payload/server/public/assets/admin-CzW_9jm3.js.gz +0 -0
- package/payload/server/public/assets/{agents-D_6V66dr.js → agents-DUZfeY3X.js} +1 -1
- package/payload/server/public/assets/agents-DUZfeY3X.js.br +0 -0
- package/payload/server/public/assets/agents-DUZfeY3X.js.gz +0 -0
- package/payload/server/public/assets/{browser-Bz9s6ztS.js → browser-DwLaXqjO.js} +1 -1
- package/payload/server/public/assets/browser-DwLaXqjO.js.br +0 -0
- package/payload/server/public/assets/browser-DwLaXqjO.js.gz +0 -0
- package/payload/server/public/assets/{calendar-D5OCrmwA.js → calendar-Cli8Qjl9.js} +1 -1
- package/payload/server/public/assets/calendar-Cli8Qjl9.js.br +0 -0
- package/payload/server/public/assets/calendar-Cli8Qjl9.js.gz +0 -0
- package/payload/server/public/assets/chat-ByAgBgm1.js +1 -0
- package/payload/server/public/assets/chat-ByAgBgm1.js.br +1 -0
- package/payload/server/public/assets/chat-ByAgBgm1.js.gz +0 -0
- package/payload/server/public/assets/chevron-left-BIYVnwvk.js +1 -0
- package/payload/server/public/assets/chevron-left-BIYVnwvk.js.br +0 -0
- package/payload/server/public/assets/clock-Dzy79hq3.js +1 -0
- package/payload/server/public/assets/clock-Dzy79hq3.js.br +0 -0
- package/payload/server/public/assets/clock-Dzy79hq3.js.gz +0 -0
- package/payload/server/public/assets/{copy-CXBu2lHL.js → copy-yhhwfEbQ.js} +1 -1
- package/payload/server/public/assets/copy-yhhwfEbQ.js.br +0 -0
- package/payload/server/public/assets/copy-yhhwfEbQ.js.gz +0 -0
- package/payload/server/public/assets/data-CsMMki2A.js +1 -0
- package/payload/server/public/assets/data-CsMMki2A.js.br +0 -0
- package/payload/server/public/assets/data-CsMMki2A.js.gz +0 -0
- package/payload/server/public/assets/{field-D4fXu_SP.js → field-jg0YQNDy.js} +1 -1
- package/payload/server/public/assets/field-jg0YQNDy.js.br +0 -0
- package/payload/server/public/assets/field-jg0YQNDy.js.gz +0 -0
- package/payload/server/public/assets/{file-text-BxZ1UMcQ.js → file-text-D0EdW7h4.js} +1 -1
- package/payload/server/public/assets/file-text-D0EdW7h4.js.br +0 -0
- package/payload/server/public/assets/file-text-D0EdW7h4.js.gz +0 -0
- package/payload/server/public/assets/{graph-DMleOCBZ.js → graph--AUr4uBc.js} +1 -1
- package/payload/server/public/assets/graph--AUr4uBc.js.br +0 -0
- package/payload/server/public/assets/graph--AUr4uBc.js.gz +0 -0
- package/payload/server/public/assets/{graph-labels-BHapdrTm.js → graph-labels-DM0CiAX1.js} +1 -1
- package/payload/server/public/assets/graph-labels-DM0CiAX1.js.br +0 -0
- package/payload/server/public/assets/graph-labels-DM0CiAX1.js.gz +0 -0
- package/payload/server/public/assets/{jsx-runtime-gqFnq1MC.css → jsx-runtime-lfcjzaWi.css} +1 -1
- package/payload/server/public/assets/jsx-runtime-lfcjzaWi.css.br +0 -0
- package/payload/server/public/assets/{jsx-runtime-gqFnq1MC.css.gz → jsx-runtime-lfcjzaWi.css.gz} +0 -0
- package/payload/server/public/assets/{operator-BpZTRiga.js → operator-CNYKStFX.js} +1 -1
- package/payload/server/public/assets/operator-CNYKStFX.js.br +0 -0
- package/payload/server/public/assets/operator-CNYKStFX.js.gz +0 -0
- package/payload/server/public/assets/{page-CsHWZZ0U.js → page-DSsEpl8J.js} +2 -2
- package/payload/server/public/assets/page-DSsEpl8J.js.br +0 -0
- package/payload/server/public/assets/page-DSsEpl8J.js.gz +0 -0
- package/payload/server/public/assets/{page-Dczx6CPP.js → page-DjhmwxnY.js} +1 -1
- package/payload/server/public/assets/page-DjhmwxnY.js.br +0 -0
- package/payload/server/public/assets/page-DjhmwxnY.js.gz +0 -0
- package/payload/server/public/assets/play-DhZlml5b.js +1 -0
- package/payload/server/public/assets/play-DhZlml5b.js.br +0 -0
- package/payload/server/public/assets/play-DhZlml5b.js.gz +0 -0
- package/payload/server/public/assets/{public-BzpELWaZ.js → public-7gXDqCog.js} +1 -1
- package/payload/server/public/assets/public-7gXDqCog.js.br +0 -0
- package/payload/server/public/assets/public-7gXDqCog.js.gz +0 -0
- package/payload/server/public/assets/{rotate-ccw-Bkpst1na.js → rotate-ccw-DhqNTPpo.js} +1 -1
- package/payload/server/public/assets/rotate-ccw-DhqNTPpo.js.br +0 -0
- package/payload/server/public/assets/rotate-ccw-DhqNTPpo.js.gz +0 -0
- package/payload/server/public/assets/{routines-Cmuf8pPP.js → routines-CWEuQ7Gl.js} +1 -1
- package/payload/server/public/assets/routines-CWEuQ7Gl.js.br +0 -0
- package/payload/server/public/assets/routines-CWEuQ7Gl.js.gz +0 -0
- package/payload/server/public/assets/{skills-Bfq3Pbw-.js → skills-pb_3BdOl.js} +1 -1
- package/payload/server/public/assets/skills-pb_3BdOl.js.br +0 -0
- package/payload/server/public/assets/skills-pb_3BdOl.js.gz +0 -0
- package/payload/server/public/assets/{tasks-nyWLrolq.js → tasks-BQm4boat.js} +1 -1
- package/payload/server/public/assets/tasks-BQm4boat.js.br +0 -0
- package/payload/server/public/assets/tasks-BQm4boat.js.gz +0 -0
- package/payload/server/public/assets/{triangle-alert-DkENIQJ6.js → triangle-alert-d7yjaIqv.js} +1 -1
- package/payload/server/public/assets/triangle-alert-d7yjaIqv.js.br +0 -0
- package/payload/server/public/assets/triangle-alert-d7yjaIqv.js.gz +0 -0
- package/payload/server/public/assets/{useCopyFeedback-DmNjbXe9.js → useCopyFeedback-CZ6Qhfkj.js} +1 -1
- package/payload/server/public/assets/useCopyFeedback-CZ6Qhfkj.js.br +0 -0
- package/payload/server/public/assets/useCopyFeedback-CZ6Qhfkj.js.gz +0 -0
- package/payload/server/public/assets/{useMediaQuery-DL-C1y_F.js → useMediaQuery-R1smYLx4.js} +1 -1
- package/payload/server/public/assets/useMediaQuery-R1smYLx4.js.br +0 -0
- package/payload/server/public/assets/useMediaQuery-R1smYLx4.js.gz +0 -0
- package/payload/server/public/assets/{useVoiceRecorder-DseLVULD.js → useVoiceRecorder-DM1v6sRa.js} +1 -1
- package/payload/server/public/assets/useVoiceRecorder-DM1v6sRa.js.br +0 -0
- package/payload/server/public/assets/useVoiceRecorder-DM1v6sRa.js.gz +0 -0
- package/payload/server/public/assets/{wrench-C7tdp6z9.js → wrench-DL1pbaCs.js} +1 -1
- package/payload/server/public/assets/wrench-DL1pbaCs.js.br +0 -0
- package/payload/server/public/assets/wrench-DL1pbaCs.js.gz +0 -0
- package/payload/server/public/browser.html +5 -5
- package/payload/server/public/calendar.html +8 -8
- package/payload/server/public/chat.html +14 -14
- package/payload/server/public/data.html +12 -12
- package/payload/server/public/field.html +3 -3
- package/payload/server/public/graph.html +10 -10
- package/payload/server/public/index.html +14 -14
- package/payload/server/public/operator.html +15 -15
- package/payload/server/public/public.html +14 -14
- package/payload/server/public/routines.html +8 -8
- package/payload/server/public/skills.html +6 -6
- package/payload/server/public/tasks.html +7 -7
- package/payload/server/server.js +140 -6
- package/payload/server/public/assets/AdminLoginScreens-dBZJlMbp.js.br +0 -0
- package/payload/server/public/assets/AdminLoginScreens-dBZJlMbp.js.gz +0 -0
- package/payload/server/public/assets/AdminShell-D94sgtsb.js.br +0 -0
- package/payload/server/public/assets/AdminShell-D94sgtsb.js.gz +0 -0
- package/payload/server/public/assets/activity-D6NEUvT7.js.br +0 -0
- package/payload/server/public/assets/activity-D6NEUvT7.js.gz +0 -0
- package/payload/server/public/assets/admin-BluqXSKn.js.br +0 -0
- package/payload/server/public/assets/admin-BluqXSKn.js.gz +0 -0
- package/payload/server/public/assets/agents-D_6V66dr.js.br +0 -0
- package/payload/server/public/assets/agents-D_6V66dr.js.gz +0 -0
- package/payload/server/public/assets/browser-Bz9s6ztS.js.br +0 -0
- package/payload/server/public/assets/browser-Bz9s6ztS.js.gz +0 -0
- package/payload/server/public/assets/calendar-D5OCrmwA.js.br +0 -0
- package/payload/server/public/assets/calendar-D5OCrmwA.js.gz +0 -0
- package/payload/server/public/assets/chat-CjlbEzZ-.js +0 -1
- package/payload/server/public/assets/chat-CjlbEzZ-.js.br +0 -1
- package/payload/server/public/assets/chat-CjlbEzZ-.js.gz +0 -0
- package/payload/server/public/assets/chevron-left-b_r2jNvg.js +0 -1
- package/payload/server/public/assets/chevron-left-b_r2jNvg.js.br +0 -0
- package/payload/server/public/assets/clock-D8tMbEZD.js +0 -1
- package/payload/server/public/assets/clock-D8tMbEZD.js.br +0 -0
- package/payload/server/public/assets/clock-D8tMbEZD.js.gz +0 -0
- package/payload/server/public/assets/copy-CXBu2lHL.js.br +0 -0
- package/payload/server/public/assets/copy-CXBu2lHL.js.gz +0 -0
- package/payload/server/public/assets/data-ChHg_Lq9.js +0 -1
- package/payload/server/public/assets/data-ChHg_Lq9.js.br +0 -0
- package/payload/server/public/assets/data-ChHg_Lq9.js.gz +0 -0
- package/payload/server/public/assets/field-D4fXu_SP.js.br +0 -0
- package/payload/server/public/assets/field-D4fXu_SP.js.gz +0 -0
- package/payload/server/public/assets/file-text-BxZ1UMcQ.js.br +0 -0
- package/payload/server/public/assets/file-text-BxZ1UMcQ.js.gz +0 -0
- package/payload/server/public/assets/graph-DMleOCBZ.js.br +0 -0
- package/payload/server/public/assets/graph-DMleOCBZ.js.gz +0 -0
- package/payload/server/public/assets/graph-labels-BHapdrTm.js.br +0 -0
- package/payload/server/public/assets/graph-labels-BHapdrTm.js.gz +0 -0
- package/payload/server/public/assets/jsx-runtime-gqFnq1MC.css.br +0 -0
- package/payload/server/public/assets/operator-BpZTRiga.js.br +0 -0
- package/payload/server/public/assets/operator-BpZTRiga.js.gz +0 -0
- package/payload/server/public/assets/page-CsHWZZ0U.js.br +0 -0
- package/payload/server/public/assets/page-CsHWZZ0U.js.gz +0 -0
- package/payload/server/public/assets/page-Dczx6CPP.js.br +0 -0
- package/payload/server/public/assets/page-Dczx6CPP.js.gz +0 -0
- package/payload/server/public/assets/play-D_xdb6gy.js +0 -1
- package/payload/server/public/assets/play-D_xdb6gy.js.br +0 -0
- package/payload/server/public/assets/play-D_xdb6gy.js.gz +0 -0
- package/payload/server/public/assets/public-BzpELWaZ.js.br +0 -0
- package/payload/server/public/assets/public-BzpELWaZ.js.gz +0 -0
- package/payload/server/public/assets/rotate-ccw-Bkpst1na.js.br +0 -0
- package/payload/server/public/assets/rotate-ccw-Bkpst1na.js.gz +0 -0
- package/payload/server/public/assets/routines-Cmuf8pPP.js.br +0 -0
- package/payload/server/public/assets/routines-Cmuf8pPP.js.gz +0 -0
- package/payload/server/public/assets/skills-Bfq3Pbw-.js.br +0 -0
- package/payload/server/public/assets/skills-Bfq3Pbw-.js.gz +0 -0
- package/payload/server/public/assets/tasks-nyWLrolq.js.br +0 -0
- package/payload/server/public/assets/tasks-nyWLrolq.js.gz +0 -0
- package/payload/server/public/assets/triangle-alert-DkENIQJ6.js.br +0 -0
- package/payload/server/public/assets/triangle-alert-DkENIQJ6.js.gz +0 -0
- package/payload/server/public/assets/useCopyFeedback-DmNjbXe9.js.br +0 -1
- package/payload/server/public/assets/useCopyFeedback-DmNjbXe9.js.gz +0 -0
- package/payload/server/public/assets/useMediaQuery-DL-C1y_F.js.br +0 -0
- package/payload/server/public/assets/useMediaQuery-DL-C1y_F.js.gz +0 -0
- package/payload/server/public/assets/useVoiceRecorder-DseLVULD.js.br +0 -0
- package/payload/server/public/assets/useVoiceRecorder-DseLVULD.js.gz +0 -0
- package/payload/server/public/assets/wrench-C7tdp6z9.js.br +0 -0
- package/payload/server/public/assets/wrench-C7tdp6z9.js.gz +0 -0
- /package/payload/server/public/assets/{jsx-runtime-BcrVQeV-.js → jsx-runtime-BtDK2X5t.js} +0 -0
- /package/payload/server/public/assets/{jsx-runtime-BcrVQeV-.js.br → jsx-runtime-BtDK2X5t.js.br} +0 -0
- /package/payload/server/public/assets/{jsx-runtime-BcrVQeV-.js.gz → jsx-runtime-BtDK2X5t.js.gz} +0 -0
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
6
|
<title>Skills — Maxy</title>
|
|
7
7
|
<link rel="icon" href="/favicon.ico">
|
|
8
|
-
<script type="module" crossorigin src="/assets/skills-
|
|
8
|
+
<script type="module" crossorigin src="/assets/skills-pb_3BdOl.js"></script>
|
|
9
9
|
<link rel="modulepreload" crossorigin href="/assets/chunk-BycB0eMI.js">
|
|
10
|
-
<link rel="modulepreload" crossorigin href="/assets/jsx-runtime-
|
|
11
|
-
<link rel="modulepreload" crossorigin href="/assets/useMediaQuery-
|
|
12
|
-
<link rel="modulepreload" crossorigin href="/assets/AdminShell-
|
|
13
|
-
<link rel="modulepreload" crossorigin href="/assets/file-text-
|
|
14
|
-
<link rel="stylesheet" crossorigin href="/assets/jsx-runtime-
|
|
10
|
+
<link rel="modulepreload" crossorigin href="/assets/jsx-runtime-BtDK2X5t.js">
|
|
11
|
+
<link rel="modulepreload" crossorigin href="/assets/useMediaQuery-R1smYLx4.js">
|
|
12
|
+
<link rel="modulepreload" crossorigin href="/assets/AdminShell-C3R-vMZ5.js">
|
|
13
|
+
<link rel="modulepreload" crossorigin href="/assets/file-text-D0EdW7h4.js">
|
|
14
|
+
<link rel="stylesheet" crossorigin href="/assets/jsx-runtime-lfcjzaWi.css">
|
|
15
15
|
<link rel="stylesheet" crossorigin href="/assets/useMediaQuery-DXAuc8G-.css">
|
|
16
16
|
<link rel="stylesheet" href="/brand-defaults.css">
|
|
17
17
|
</head>
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
6
|
<title>Tasks — Maxy</title>
|
|
7
7
|
<link rel="icon" href="/favicon.ico">
|
|
8
|
-
<script type="module" crossorigin src="/assets/tasks-
|
|
8
|
+
<script type="module" crossorigin src="/assets/tasks-BQm4boat.js"></script>
|
|
9
9
|
<link rel="modulepreload" crossorigin href="/assets/chunk-BycB0eMI.js">
|
|
10
|
-
<link rel="modulepreload" crossorigin href="/assets/jsx-runtime-
|
|
11
|
-
<link rel="modulepreload" crossorigin href="/assets/useMediaQuery-
|
|
12
|
-
<link rel="modulepreload" crossorigin href="/assets/AdminShell-
|
|
13
|
-
<link rel="modulepreload" crossorigin href="/assets/play-
|
|
14
|
-
<link rel="modulepreload" crossorigin href="/assets/rotate-ccw-
|
|
15
|
-
<link rel="stylesheet" crossorigin href="/assets/jsx-runtime-
|
|
10
|
+
<link rel="modulepreload" crossorigin href="/assets/jsx-runtime-BtDK2X5t.js">
|
|
11
|
+
<link rel="modulepreload" crossorigin href="/assets/useMediaQuery-R1smYLx4.js">
|
|
12
|
+
<link rel="modulepreload" crossorigin href="/assets/AdminShell-C3R-vMZ5.js">
|
|
13
|
+
<link rel="modulepreload" crossorigin href="/assets/play-DhZlml5b.js">
|
|
14
|
+
<link rel="modulepreload" crossorigin href="/assets/rotate-ccw-DhqNTPpo.js">
|
|
15
|
+
<link rel="stylesheet" crossorigin href="/assets/jsx-runtime-lfcjzaWi.css">
|
|
16
16
|
<link rel="stylesheet" crossorigin href="/assets/useMediaQuery-DXAuc8G-.css">
|
|
17
17
|
<link rel="stylesheet" href="/brand-defaults.css">
|
|
18
18
|
</head>
|
package/payload/server/server.js
CHANGED
|
@@ -4248,6 +4248,26 @@ var CHANNEL_REPLY_DOCUMENT_TOOL = "mcp__channel__reply-document";
|
|
|
4248
4248
|
var WA_SEND_PARTY_TOOL = "mcp__whatsapp-channel__send-to-party";
|
|
4249
4249
|
var CHANNEL_SEND_PARTY_TOOL = "mcp__channel__send-to-party";
|
|
4250
4250
|
var SEND_USER_FILE_TOOL = "SendUserFile";
|
|
4251
|
+
var TELEGRAM_CARD_TOOLS = /* @__PURE__ */ new Set([
|
|
4252
|
+
"mcp__telegram__telegram-card",
|
|
4253
|
+
"mcp__plugin_telegram_telegram__telegram-card"
|
|
4254
|
+
]);
|
|
4255
|
+
function parseCardButtonsFromInput(input) {
|
|
4256
|
+
const rows = input?.buttons;
|
|
4257
|
+
if (!Array.isArray(rows)) return [];
|
|
4258
|
+
const out = [];
|
|
4259
|
+
for (const row of rows) {
|
|
4260
|
+
if (!Array.isArray(row)) continue;
|
|
4261
|
+
for (const b of row) {
|
|
4262
|
+
if (!b || typeof b !== "object") continue;
|
|
4263
|
+
const text = b.text;
|
|
4264
|
+
if (typeof text !== "string") continue;
|
|
4265
|
+
const data = b.callbackData;
|
|
4266
|
+
out.push({ text, data: typeof data === "string" ? data : null });
|
|
4267
|
+
}
|
|
4268
|
+
}
|
|
4269
|
+
return out;
|
|
4270
|
+
}
|
|
4251
4271
|
var CLI_MARKER_PREFIXES = ["<local-command-", "<command-name>", "<command-message>"];
|
|
4252
4272
|
var HARNESS_LIFECYCLE_PREFIXES = ["<task-notification>"];
|
|
4253
4273
|
var CC_IMAGE_VISION_HINT = /^\[Image:[^\]]*Multiply coordinates by [\d.]+ to map to original image\.\]$/;
|
|
@@ -4410,6 +4430,14 @@ function assistantTurns(content, ts, promoteFinal = false, erroredIds = /* @__PU
|
|
|
4410
4430
|
} else {
|
|
4411
4431
|
out.push({ kind: "agent-file", files, caption, ts });
|
|
4412
4432
|
}
|
|
4433
|
+
} else if (b.type === "tool_use" && typeof b.name === "string" && TELEGRAM_CARD_TOOLS.has(b.name)) {
|
|
4434
|
+
const input = b.input ?? {};
|
|
4435
|
+
out.push({
|
|
4436
|
+
kind: "telegram-card",
|
|
4437
|
+
text: typeof input.text === "string" ? input.text : "",
|
|
4438
|
+
buttons: parseCardButtonsFromInput(b.input),
|
|
4439
|
+
ts
|
|
4440
|
+
});
|
|
4413
4441
|
} else if (b.type === "tool_use" && typeof b.name === "string") {
|
|
4414
4442
|
out.push({ kind: "tool-call", name: b.name, input: b.input ?? null, ts });
|
|
4415
4443
|
}
|
|
@@ -15025,6 +15053,7 @@ function foldPatches(rows, uploadsBase) {
|
|
|
15025
15053
|
if (metas.length > 0) patch.attachments = [...patch.attachments ?? [], ...metas];
|
|
15026
15054
|
}
|
|
15027
15055
|
if (row.body !== void 0) patch.text = row.body;
|
|
15056
|
+
if (row.buttons) patch.buttons = row.buttons;
|
|
15028
15057
|
if (row.deleted === true) patch.deleted = true;
|
|
15029
15058
|
out.set(row.targetMessageId, patch);
|
|
15030
15059
|
}
|
|
@@ -15041,6 +15070,9 @@ function toTurn(r, patch) {
|
|
|
15041
15070
|
origin: r.origin,
|
|
15042
15071
|
messageId: r.messageId,
|
|
15043
15072
|
...patch?.attachments ? { attachments: patch.attachments } : {},
|
|
15073
|
+
// Task 2677 — the card's button labels: the edit patch wins, else the row's
|
|
15074
|
+
// own. Spread, so an ordinary message row carries no key.
|
|
15075
|
+
...patch?.buttons ?? r.buttons ? { buttons: patch?.buttons ?? r.buttons } : {},
|
|
15044
15076
|
// Task 2615 — spread, so a turn nobody deleted carries no key at all and
|
|
15045
15077
|
// every pre-2615 frame stays byte-identical. The BODY is kept: Telegram
|
|
15046
15078
|
// sends none on a deletion, so the stored body is the only account anywhere
|
|
@@ -40111,7 +40143,11 @@ function startEmitter(opts) {
|
|
|
40111
40143
|
if (pre && Array.isArray(pre.content)) {
|
|
40112
40144
|
for (const block of pre.content) {
|
|
40113
40145
|
if (block?.type === "tool_use" && typeof block.name === "string") {
|
|
40114
|
-
opts.onToolUse(
|
|
40146
|
+
opts.onToolUse({
|
|
40147
|
+
name: block.name,
|
|
40148
|
+
input: block.input,
|
|
40149
|
+
id: typeof block.id === "string" ? block.id : ""
|
|
40150
|
+
});
|
|
40115
40151
|
}
|
|
40116
40152
|
}
|
|
40117
40153
|
}
|
|
@@ -40146,6 +40182,19 @@ function startEmitter(opts) {
|
|
|
40146
40182
|
}
|
|
40147
40183
|
}
|
|
40148
40184
|
}
|
|
40185
|
+
if (opts.onToolResult && !suppressing) {
|
|
40186
|
+
const umsg = event.message;
|
|
40187
|
+
if (umsg && Array.isArray(umsg.content)) {
|
|
40188
|
+
for (const block of umsg.content) {
|
|
40189
|
+
if (block?.type !== "tool_result" || typeof block.tool_use_id !== "string") continue;
|
|
40190
|
+
opts.onToolResult({
|
|
40191
|
+
toolUseId: block.tool_use_id,
|
|
40192
|
+
text: toolResultText(block.content),
|
|
40193
|
+
isError: block.is_error === true
|
|
40194
|
+
});
|
|
40195
|
+
}
|
|
40196
|
+
}
|
|
40197
|
+
}
|
|
40149
40198
|
if (!suppressing) opts.onTurnStart?.(classifyTurnStart(event));
|
|
40150
40199
|
firedFileTools = [];
|
|
40151
40200
|
continue;
|
|
@@ -41667,7 +41716,7 @@ var sessions3 = /* @__PURE__ */ new Map();
|
|
|
41667
41716
|
function entry2(sessionId) {
|
|
41668
41717
|
let e = sessions3.get(sessionId);
|
|
41669
41718
|
if (!e) {
|
|
41670
|
-
e = { armed: 0, suppressed: 0, delivered: 0 };
|
|
41719
|
+
e = { armed: 0, suppressed: 0, delivered: 0, persisted: 0 };
|
|
41671
41720
|
sessions3.set(sessionId, e);
|
|
41672
41721
|
}
|
|
41673
41722
|
return e;
|
|
@@ -41682,23 +41731,50 @@ function noteCardDelivered(sessionId) {
|
|
|
41682
41731
|
const e = sessions3.get(sessionId);
|
|
41683
41732
|
if (e && e.armed > 0) e.delivered += 1;
|
|
41684
41733
|
}
|
|
41734
|
+
function noteCardPersisted(sessionId) {
|
|
41735
|
+
const e = sessions3.get(sessionId);
|
|
41736
|
+
if (e && e.armed > 0) e.persisted += 1;
|
|
41737
|
+
}
|
|
41685
41738
|
function cardCensusLines() {
|
|
41686
41739
|
let armed2 = 0;
|
|
41687
41740
|
let suppressed = 0;
|
|
41688
41741
|
let delivered = 0;
|
|
41742
|
+
let persisted = 0;
|
|
41689
41743
|
for (const e of sessions3.values()) {
|
|
41690
41744
|
armed2 += e.armed;
|
|
41691
41745
|
suppressed += e.suppressed;
|
|
41692
41746
|
delivered += e.delivered;
|
|
41747
|
+
persisted += e.persisted;
|
|
41693
41748
|
}
|
|
41694
41749
|
const silent = Math.max(0, armed2 - suppressed - delivered);
|
|
41695
41750
|
return [
|
|
41696
|
-
`[telegram-card-suppression-census] sessions=${sessions3.size} armed=${armed2} suppressed=${suppressed} silent-turns=${silent}`
|
|
41751
|
+
`[telegram-card-suppression-census] sessions=${sessions3.size} armed=${armed2} suppressed=${suppressed} silent-turns=${silent} persisted=${persisted}`
|
|
41697
41752
|
];
|
|
41698
41753
|
}
|
|
41699
41754
|
|
|
41700
41755
|
// app/lib/telegram/gateway/native-file-follower.ts
|
|
41701
41756
|
var TELEGRAM_CARD_TOOL = "mcp__telegram__telegram-card";
|
|
41757
|
+
var CARD_TOOL_NAMES = /* @__PURE__ */ new Set([
|
|
41758
|
+
"mcp__telegram__telegram-card",
|
|
41759
|
+
"mcp__plugin_telegram_telegram__telegram-card"
|
|
41760
|
+
]);
|
|
41761
|
+
var CARD_RESULT_RE = /card-result: outcome=(sent|edited|unchanged|none) messageId=(\d+|none)/;
|
|
41762
|
+
function parseCardButtons(input) {
|
|
41763
|
+
const rows = input?.buttons;
|
|
41764
|
+
if (!Array.isArray(rows)) return [];
|
|
41765
|
+
const out = [];
|
|
41766
|
+
for (const row of rows) {
|
|
41767
|
+
if (!Array.isArray(row)) continue;
|
|
41768
|
+
for (const b of row) {
|
|
41769
|
+
if (!b || typeof b !== "object") continue;
|
|
41770
|
+
const text = b.text;
|
|
41771
|
+
if (typeof text !== "string") continue;
|
|
41772
|
+
const data = b.callbackData;
|
|
41773
|
+
out.push({ text, data: typeof data === "string" ? data : null });
|
|
41774
|
+
}
|
|
41775
|
+
}
|
|
41776
|
+
return out;
|
|
41777
|
+
}
|
|
41702
41778
|
var CHAT_ACTION_REFRESH_MS = 4e3;
|
|
41703
41779
|
function startTelegramNativeFileFollower(input) {
|
|
41704
41780
|
const entry3 = {
|
|
@@ -41719,6 +41795,9 @@ function startTelegramNativeFileFollower(input) {
|
|
|
41719
41795
|
// The chat id the document is addressed to (set per spawn from the inbound).
|
|
41720
41796
|
replyTarget: input.chatId
|
|
41721
41797
|
};
|
|
41798
|
+
const pendingCards = /* @__PURE__ */ new Map();
|
|
41799
|
+
const channelKey = input.senderId;
|
|
41800
|
+
const numericSenderId = parseTelegramChannelKey(channelKey)?.senderId ?? input.chatId;
|
|
41722
41801
|
let lastChatActionAt = Number.NEGATIVE_INFINITY;
|
|
41723
41802
|
let turnOpen = false;
|
|
41724
41803
|
let cardSentThisTurn = false;
|
|
@@ -41797,12 +41876,67 @@ function startTelegramNativeFileFollower(input) {
|
|
|
41797
41876
|
// CARD_SHAPE and card.ts always issues sendMessage or editMessageText
|
|
41798
41877
|
// before it reaches the optional answerCallbackQuery, so there is no card
|
|
41799
41878
|
// call that posts nothing and no bare acknowledgement to keep the text for.
|
|
41800
|
-
onToolUse: (
|
|
41801
|
-
if (name
|
|
41879
|
+
onToolUse: (tool) => {
|
|
41880
|
+
if (CARD_TOOL_NAMES.has(tool.name) && tool.id) {
|
|
41881
|
+
const text = tool.input?.text;
|
|
41882
|
+
pendingCards.set(tool.id, {
|
|
41883
|
+
text: typeof text === "string" ? text : "",
|
|
41884
|
+
buttons: parseCardButtons(tool.input)
|
|
41885
|
+
});
|
|
41886
|
+
}
|
|
41887
|
+
if (tool.name !== TELEGRAM_CARD_TOOL) return;
|
|
41802
41888
|
cardSentThisTurn = true;
|
|
41803
41889
|
noteCardArmed(input.sessionId);
|
|
41804
41890
|
console.error(
|
|
41805
|
-
`[telegram-public] op=card-armed sessionId=${input.sessionId.slice(0, 8)} tool=${name}`
|
|
41891
|
+
`[telegram-public] op=card-armed sessionId=${input.sessionId.slice(0, 8)} tool=${tool.name}`
|
|
41892
|
+
);
|
|
41893
|
+
},
|
|
41894
|
+
// Task 2677 — the card's send outcome and message id arrive here, parsed out
|
|
41895
|
+
// of the result text card.ts encoded them into. On a confirmed send write one
|
|
41896
|
+
// outbound store row keyed by the card message id; on an edit patch that same
|
|
41897
|
+
// row (Telegram reuses the id for an edit); unchanged/none write nothing.
|
|
41898
|
+
onToolResult: ({ toolUseId, text }) => {
|
|
41899
|
+
const pending = pendingCards.get(toolUseId);
|
|
41900
|
+
if (!pending) return;
|
|
41901
|
+
pendingCards.delete(toolUseId);
|
|
41902
|
+
const m = CARD_RESULT_RE.exec(text);
|
|
41903
|
+
if (!m) return;
|
|
41904
|
+
const outcome = m[1];
|
|
41905
|
+
const messageId = m[2];
|
|
41906
|
+
if (outcome !== "sent" && outcome !== "edited" || messageId === "none") return;
|
|
41907
|
+
const at = (/* @__PURE__ */ new Date()).toISOString();
|
|
41908
|
+
const rowId = `telegram:${input.accountId}:${channelKey}:card:${messageId}`;
|
|
41909
|
+
if (outcome === "sent") {
|
|
41910
|
+
appendMessage2(input.accountId, {
|
|
41911
|
+
messageId: rowId,
|
|
41912
|
+
sessionId: input.sessionId,
|
|
41913
|
+
dateSent: at,
|
|
41914
|
+
body: pending.text,
|
|
41915
|
+
fromMe: true,
|
|
41916
|
+
senderId: numericSenderId,
|
|
41917
|
+
senderName: null,
|
|
41918
|
+
chatId: input.chatId,
|
|
41919
|
+
channelKey,
|
|
41920
|
+
// Telegram row scope is not consumed for rendering or routing (only
|
|
41921
|
+
// WhatsApp rows feed the operator-conversations scope counter); 'admin'
|
|
41922
|
+
// matches the operator-surface intent of the card row.
|
|
41923
|
+
scope: "admin",
|
|
41924
|
+
origin: "agent",
|
|
41925
|
+
...pending.buttons.length > 0 ? { buttons: pending.buttons } : {},
|
|
41926
|
+
createdAt: at
|
|
41927
|
+
});
|
|
41928
|
+
} else {
|
|
41929
|
+
appendUpdate(input.accountId, channelKey, {
|
|
41930
|
+
kind: "update",
|
|
41931
|
+
targetMessageId: rowId,
|
|
41932
|
+
body: pending.text,
|
|
41933
|
+
...pending.buttons.length > 0 ? { buttons: pending.buttons } : {},
|
|
41934
|
+
createdAt: at
|
|
41935
|
+
});
|
|
41936
|
+
}
|
|
41937
|
+
noteCardPersisted(input.sessionId);
|
|
41938
|
+
console.error(
|
|
41939
|
+
`[telegram-adaptor] op=card-persisted sessionId=${input.sessionId.slice(0, 8)} messageId=${messageId} outcome=${outcome} buttons=${pending.buttons.length}`
|
|
41806
41940
|
);
|
|
41807
41941
|
},
|
|
41808
41942
|
// Task 2521 — the answer reaches every bound door through the one fan-out.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./jsx-runtime-BcrVQeV-.js";import"./useMediaQuery-DL-C1y_F.js";import"./useVoiceRecorder-DseLVULD.js";import"./AdminShell-D94sgtsb.js";import{n}from"./page-CsHWZZ0U.js";import"./useCopyFeedback-DmNjbXe9.js";var r=e(),i=t();(0,r.createRoot)(document.getElementById(`root`)).render((0,i.jsx)(n,{}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
=`��i�ez��1����Ʋhۏ�(ɻ8N1��2+f}��x�t��ɝ�|��&| ��������_������T���(D`���Z�_
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Z as e}from"./useMediaQuery-DL-C1y_F.js";var t=e(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]);export{t};
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Z as e}from"./useMediaQuery-DL-C1y_F.js";var t=e(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]);export{t};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./jsx-runtime-BcrVQeV-.js";import"./useMediaQuery-DL-C1y_F.js";import"./useVoiceRecorder-DseLVULD.js";import{t as n}from"./page-Dczx6CPP.js";import"./graph-labels-BHapdrTm.js";var r=e(),i=t();(0,r.createRoot)(document.getElementById(`root`)).render((0,i.jsx)(n,{}));
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Z as e}from"./useMediaQuery-DL-C1y_F.js";var t=e(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]);export{t};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
`d����
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
/package/payload/server/public/assets/{jsx-runtime-BcrVQeV-.js.br → jsx-runtime-BtDK2X5t.js.br}
RENAMED
|
File without changes
|
/package/payload/server/public/assets/{jsx-runtime-BcrVQeV-.js.gz → jsx-runtime-BtDK2X5t.js.gz}
RENAMED
|
File without changes
|