@songsid/agend 2.2.0-beta.1 → 2.2.0-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/README.zh-TW.md +1 -1
- package/dist/agent-cli-instructions.md +16 -9
- package/dist/agent-cli.js +15 -7
- package/dist/agent-cli.js.map +1 -1
- package/dist/agent-endpoint.js +24 -9
- package/dist/agent-endpoint.js.map +1 -1
- package/dist/agent-whats-new.d.ts +47 -0
- package/dist/agent-whats-new.js +147 -0
- package/dist/agent-whats-new.js.map +1 -0
- package/dist/auth-api.d.ts +5 -3
- package/dist/auth-api.js +19 -3
- package/dist/auth-api.js.map +1 -1
- package/dist/backend/antigravity.d.ts +8 -0
- package/dist/backend/antigravity.js +32 -9
- package/dist/backend/antigravity.js.map +1 -1
- package/dist/backend/claude-carry.d.ts +22 -0
- package/dist/backend/claude-carry.js +170 -0
- package/dist/backend/claude-carry.js.map +1 -0
- package/dist/backend/claude-code.d.ts +65 -2
- package/dist/backend/claude-code.js +226 -33
- package/dist/backend/claude-code.js.map +1 -1
- package/dist/backend/codex-metadata.d.ts +33 -0
- package/dist/backend/codex-metadata.js +122 -18
- package/dist/backend/codex-metadata.js.map +1 -1
- package/dist/backend/codex.d.ts +3 -0
- package/dist/backend/codex.js +17 -1
- package/dist/backend/codex.js.map +1 -1
- package/dist/backend/credential-profile.d.ts +40 -3
- package/dist/backend/credential-profile.js +113 -5
- package/dist/backend/credential-profile.js.map +1 -1
- package/dist/backend/effort-metadata.d.ts +37 -1
- package/dist/backend/effort-metadata.js +86 -15
- package/dist/backend/effort-metadata.js.map +1 -1
- package/dist/backend/grok.d.ts +4 -0
- package/dist/backend/grok.js +14 -0
- package/dist/backend/grok.js.map +1 -1
- package/dist/backend/kiro-engine-ledger.d.ts +5 -0
- package/dist/backend/kiro-engine-ledger.js +20 -0
- package/dist/backend/kiro-engine-ledger.js.map +1 -1
- package/dist/backend/kiro-identity.d.ts +6 -0
- package/dist/backend/kiro-identity.js +19 -5
- package/dist/backend/kiro-identity.js.map +1 -1
- package/dist/backend/kiro.d.ts +39 -3
- package/dist/backend/kiro.js +143 -19
- package/dist/backend/kiro.js.map +1 -1
- package/dist/backend/launch-effort.d.ts +61 -0
- package/dist/backend/launch-effort.js +170 -0
- package/dist/backend/launch-effort.js.map +1 -0
- package/dist/backend/muse.d.ts +84 -0
- package/dist/backend/muse.js +449 -53
- package/dist/backend/muse.js.map +1 -1
- package/dist/backend/types.d.ts +47 -4
- package/dist/backend/types.js +12 -1
- package/dist/backend/types.js.map +1 -1
- package/dist/backend-command.d.ts +91 -0
- package/dist/backend-command.js +122 -0
- package/dist/backend-command.js.map +1 -0
- package/dist/background-work-ended.d.ts +18 -0
- package/dist/background-work-ended.js +30 -0
- package/dist/background-work-ended.js.map +1 -0
- package/dist/cache-service.d.ts +2 -0
- package/dist/cache-service.js +2 -1
- package/dist/cache-service.js.map +1 -1
- package/dist/channel/adapters/discord.d.ts +36 -1
- package/dist/channel/adapters/discord.js +126 -4
- package/dist/channel/adapters/discord.js.map +1 -1
- package/dist/channel/adapters/telegram.d.ts +42 -2
- package/dist/channel/adapters/telegram.js +142 -23
- package/dist/channel/adapters/telegram.js.map +1 -1
- package/dist/channel/mcp-server.js +9 -1
- package/dist/channel/mcp-server.js.map +1 -1
- package/dist/channel/mcp-tools.d.ts +11 -0
- package/dist/channel/mcp-tools.js +26 -13
- package/dist/channel/mcp-tools.js.map +1 -1
- package/dist/channel/message-edit-errors.d.ts +5 -0
- package/dist/channel/message-edit-errors.js +24 -0
- package/dist/channel/message-edit-errors.js.map +1 -0
- package/dist/channel/telegram-markdown.d.ts +6 -0
- package/dist/channel/telegram-markdown.js +104 -0
- package/dist/channel/telegram-markdown.js.map +1 -0
- package/dist/channel/tool-router.d.ts +2 -0
- package/dist/channel/tool-router.js +10 -4
- package/dist/channel/tool-router.js.map +1 -1
- package/dist/channel/types.d.ts +55 -3
- package/dist/cli.js +167 -39
- package/dist/cli.js.map +1 -1
- package/dist/command-table.d.ts +2 -2
- package/dist/command-table.js +6 -3
- package/dist/command-table.js.map +1 -1
- package/dist/config-validator.js +59 -0
- package/dist/config-validator.js.map +1 -1
- package/dist/cross-instance-envelope.d.ts +15 -2
- package/dist/cross-instance-envelope.js +29 -5
- package/dist/cross-instance-envelope.js.map +1 -1
- package/dist/daemon.d.ts +156 -1
- package/dist/daemon.js +773 -89
- package/dist/daemon.js.map +1 -1
- package/dist/delivery-outbox.d.ts +70 -8
- package/dist/delivery-outbox.js +315 -24
- package/dist/delivery-outbox.js.map +1 -1
- package/dist/delivery-reconciliation.d.ts +18 -1
- package/dist/delivery-reconciliation.js +67 -2
- package/dist/delivery-reconciliation.js.map +1 -1
- package/dist/fleet-context.d.ts +10 -1
- package/dist/fleet-manager.d.ts +404 -13
- package/dist/fleet-manager.js +2039 -210
- package/dist/fleet-manager.js.map +1 -1
- package/dist/general-knowledge/skills/backend-providers/SKILL.md +1 -1
- package/dist/general-knowledge/skills/credential-profiles/SKILL.md +92 -21
- package/dist/general-knowledge/skills/cross-instance-messaging/SKILL.md +27 -3
- package/dist/general-knowledge/skills/delegation-playbook/SKILL.md +8 -8
- package/dist/general-knowledge/skills/fleet-config/SKILL.md +5 -5
- package/dist/general-knowledge/skills/fleet-health/SKILL.md +4 -4
- package/dist/general-knowledge/skills/fleet-restart/SKILL.md +13 -13
- package/dist/general-knowledge/skills/instance-lifecycle/SKILL.md +3 -2
- package/dist/general-knowledge/skills/kiro-engine-migration/SKILL.md +6 -0
- package/dist/general-knowledge/skills/model-discovery/SKILL.md +12 -9
- package/dist/general-knowledge/skills/multi-channel/SKILL.md +8 -2
- package/dist/general-knowledge/skills/scheduling/SKILL.md +5 -3
- package/dist/general-knowledge/skills/session-management/SKILL.md +6 -5
- package/dist/general-knowledge/skills/tui-effort/SKILL.md +2 -2
- package/dist/general-knowledge/skills/worker-collaboration/SKILL.md +8 -3
- package/dist/general-knowledge/steering/core-rules.md +8 -7
- package/dist/host-memory.d.ts +10 -0
- package/dist/host-memory.js +33 -1
- package/dist/host-memory.js.map +1 -1
- package/dist/human-delivery-receipts.d.ts +83 -0
- package/dist/human-delivery-receipts.js +194 -0
- package/dist/human-delivery-receipts.js.map +1 -0
- package/dist/instance-avatar.d.ts +36 -0
- package/dist/instance-avatar.js +57 -0
- package/dist/instance-avatar.js.map +1 -0
- package/dist/instance-config-impact.js +6 -0
- package/dist/instance-config-impact.js.map +1 -1
- package/dist/instance-lifecycle.d.ts +29 -6
- package/dist/instance-lifecycle.js +79 -28
- package/dist/instance-lifecycle.js.map +1 -1
- package/dist/instructions.d.ts +3 -1
- package/dist/instructions.js +11 -8
- package/dist/instructions.js.map +1 -1
- package/dist/kiro-log-gate.d.ts +42 -0
- package/dist/kiro-log-gate.js +39 -0
- package/dist/kiro-log-gate.js.map +1 -0
- package/dist/locale.js +226 -44
- package/dist/locale.js.map +1 -1
- package/dist/log-service.d.ts +99 -0
- package/dist/log-service.js +243 -0
- package/dist/log-service.js.map +1 -0
- package/dist/log-steps.d.ts +169 -0
- package/dist/log-steps.js +858 -0
- package/dist/log-steps.js.map +1 -0
- package/dist/login-controller.d.ts +20 -3
- package/dist/login-controller.js +71 -19
- package/dist/login-controller.js.map +1 -1
- package/dist/login-flows.d.ts +5 -2
- package/dist/login-flows.js +5 -4
- package/dist/login-flows.js.map +1 -1
- package/dist/memory-pressure.d.ts +13 -1
- package/dist/memory-pressure.js +50 -10
- package/dist/memory-pressure.js.map +1 -1
- package/dist/needs-you-hub.js +2 -0
- package/dist/needs-you-hub.js.map +1 -1
- package/dist/needs-you-live.d.ts +6 -0
- package/dist/needs-you-live.js +23 -3
- package/dist/needs-you-live.js.map +1 -1
- package/dist/next-steps.js +1 -1
- package/dist/next-steps.js.map +1 -1
- package/dist/outbound-handlers.d.ts +100 -0
- package/dist/outbound-handlers.js +284 -97
- package/dist/outbound-handlers.js.map +1 -1
- package/dist/outbound-schemas.d.ts +38 -15
- package/dist/outbound-schemas.js +36 -8
- package/dist/outbound-schemas.js.map +1 -1
- package/dist/public-link-progress.d.ts +1 -1
- package/dist/public-link-progress.js +8 -2
- package/dist/public-link-progress.js.map +1 -1
- package/dist/public-preview.d.ts +101 -0
- package/dist/public-preview.js +236 -0
- package/dist/public-preview.js.map +1 -0
- package/dist/public-web-gateway.js +14 -4
- package/dist/public-web-gateway.js.map +1 -1
- package/dist/public-web-link.d.ts +24 -1
- package/dist/public-web-link.js +63 -9
- package/dist/public-web-link.js.map +1 -1
- package/dist/reply-buttons-controller.d.ts +89 -5
- package/dist/reply-buttons-controller.js +273 -8
- package/dist/reply-buttons-controller.js.map +1 -1
- package/dist/reply-buttons.d.ts +48 -3
- package/dist/reply-buttons.js +105 -10
- package/dist/reply-buttons.js.map +1 -1
- package/dist/reply-polls.d.ts +85 -0
- package/dist/reply-polls.js +154 -0
- package/dist/reply-polls.js.map +1 -0
- package/dist/restart-guard.d.ts +6 -3
- package/dist/restart-guard.js +6 -3
- package/dist/restart-guard.js.map +1 -1
- package/dist/restart-progress.d.ts +33 -0
- package/dist/restart-progress.js +30 -0
- package/dist/restart-progress.js.map +1 -1
- package/dist/service-activation.d.ts +15 -7
- package/dist/service-activation.js +46 -29
- package/dist/service-activation.js.map +1 -1
- package/dist/service-installer.d.ts +31 -0
- package/dist/service-installer.js +41 -2
- package/dist/service-installer.js.map +1 -1
- package/dist/settings-api.js +85 -25
- package/dist/settings-api.js.map +1 -1
- package/dist/settings-change.js +72 -1
- package/dist/settings-change.js.map +1 -1
- package/dist/settings-effect.js +28 -4
- package/dist/settings-effect.js.map +1 -1
- package/dist/settings-http-confirmation.js +7 -0
- package/dist/settings-http-confirmation.js.map +1 -1
- package/dist/setup-form.d.ts +1 -1
- package/dist/setup-form.js +1 -1
- package/dist/spawn-gate.js +5 -1
- package/dist/spawn-gate.js.map +1 -1
- package/dist/spawn-hold-reply.d.ts +12 -0
- package/dist/spawn-hold-reply.js +39 -0
- package/dist/spawn-hold-reply.js.map +1 -0
- package/dist/status-emojis.d.ts +10 -3
- package/dist/status-emojis.js +11 -2
- package/dist/status-emojis.js.map +1 -1
- package/dist/systemd-peer-bus.d.ts +95 -0
- package/dist/systemd-peer-bus.js +430 -0
- package/dist/systemd-peer-bus.js.map +1 -0
- package/dist/systemd-runtime.d.ts +27 -1
- package/dist/systemd-runtime.js +69 -7
- package/dist/systemd-runtime.js.map +1 -1
- package/dist/tips.js +4 -4
- package/dist/tips.js.map +1 -1
- package/dist/tool-permissions.js +3 -3
- package/dist/tool-permissions.js.map +1 -1
- package/dist/tool-progress.js +3 -2
- package/dist/tool-progress.js.map +1 -1
- package/dist/topic-commands.d.ts +42 -2
- package/dist/topic-commands.js +101 -11
- package/dist/topic-commands.js.map +1 -1
- package/dist/transcript-delta-reader.d.ts +3 -3
- package/dist/transcript-delta-reader.js +8 -8
- package/dist/transcript-delta-reader.js.map +1 -1
- package/dist/transcript-jsonl.d.ts +80 -3
- package/dist/transcript-jsonl.js +147 -10
- package/dist/transcript-jsonl.js.map +1 -1
- package/dist/transcript-monitor.d.ts +19 -0
- package/dist/transcript-monitor.js +87 -15
- package/dist/transcript-monitor.js.map +1 -1
- package/dist/transcript-sources.d.ts +78 -0
- package/dist/transcript-sources.js +375 -64
- package/dist/transcript-sources.js.map +1 -1
- package/dist/transcript-turns.d.ts +15 -2
- package/dist/transcript-turns.js +15 -2
- package/dist/transcript-turns.js.map +1 -1
- package/dist/tunnel/cloudflared.d.ts +7 -15
- package/dist/tunnel/cloudflared.js +36 -1
- package/dist/tunnel/cloudflared.js.map +1 -1
- package/dist/tunnel/purpose-lane.d.ts +5 -1
- package/dist/tunnel/purpose-lane.js +14 -7
- package/dist/tunnel/purpose-lane.js.map +1 -1
- package/dist/tunnel/types.d.ts +5 -1
- package/dist/tunnel/types.js.map +1 -1
- package/dist/turn-resume.d.ts +2 -0
- package/dist/turn-resume.js +1 -1
- package/dist/turn-resume.js.map +1 -1
- package/dist/types.d.ts +25 -0
- package/dist/ui/chat-commands.js +1 -0
- package/dist/ui/chat-emojis.js +33 -0
- package/dist/ui/chat-mentions.js +63 -0
- package/dist/ui/chat-render.js +61 -4
- package/dist/ui/chat-store.js +37 -3
- package/dist/ui/chat-strings.js +40 -20
- package/dist/ui/chat-thread.js +111 -12
- package/dist/ui/chat-time.js +80 -0
- package/dist/ui/panel-chat.js +41 -10
- package/dist/ui/panel-details.js +2 -0
- package/dist/ui/panel-fleet.js +199 -57
- package/dist/ui/panel-log.js +428 -0
- package/dist/ui/panel-needs.js +6 -2
- package/dist/ui/panel-settings.js +184 -32
- package/dist/ui/preview-panel.js +55 -15
- package/dist/ui/preview-status.js +28 -0
- package/dist/ui/preview.js +44 -3
- package/dist/ui/settings-dialogs.js +7 -2
- package/dist/ui/settings-model.js +2 -1
- package/dist/ui/settings-strings.js +56 -4
- package/dist/ui/settings-token.js +1 -1
- package/dist/ui/shared/app-i18n.js +43 -17
- package/dist/ui/shared/app-prefs.js +250 -0
- package/dist/ui/shared/app-route.js +7 -2
- package/dist/ui/shared/app-shell.js +165 -8
- package/dist/ui/shared/app-store.js +5 -1
- package/dist/ui/shared/app-stream.js +26 -5
- package/dist/ui/shared/app.css +163 -22
- package/dist/ui/shared/app.js +11 -1
- package/dist/ui/shared/fonts/README.md +1 -1
- package/dist/ui/shared/header-tools.js +55 -5
- package/dist/ui/shared/instance-nav.js +241 -45
- package/dist/ui/shared/instance-switch.js +4 -4
- package/dist/ui/shared/panel-view.js +6 -0
- package/dist/ui/shared/signin.js +7 -7
- package/dist/ui/shared/theme.js +39 -7
- package/dist/ui/shared/tokens.css +1 -1
- package/dist/ui/shared/ui-icons.js +1 -0
- package/dist/ui/shared/usage-dialog.js +23 -5
- package/dist/ui/shared/view-strings.js +32 -4
- package/dist/ui/signin.html +1 -1
- package/dist/unrecognised-prompt.d.ts +23 -0
- package/dist/unrecognised-prompt.js +74 -0
- package/dist/unrecognised-prompt.js.map +1 -0
- package/dist/update-check.d.ts +31 -0
- package/dist/update-check.js +47 -0
- package/dist/update-check.js.map +1 -1
- package/dist/update-install.d.ts +28 -2
- package/dist/update-install.js +22 -4
- package/dist/update-install.js.map +1 -1
- package/dist/update-launch.d.ts +46 -1
- package/dist/update-launch.js +146 -3
- package/dist/update-launch.js.map +1 -1
- package/dist/update-marker.d.ts +51 -0
- package/dist/update-marker.js +61 -0
- package/dist/update-marker.js.map +1 -1
- package/dist/update-preflight.d.ts +100 -0
- package/dist/update-preflight.js +264 -0
- package/dist/update-preflight.js.map +1 -0
- package/dist/updater-caller.d.ts +31 -0
- package/dist/updater-caller.js +109 -0
- package/dist/updater-caller.js.map +1 -0
- package/dist/usage/i18n-keys.d.ts +1 -1
- package/dist/usage/i18n-keys.js +1 -1
- package/dist/usage/i18n-keys.js.map +1 -1
- package/dist/usage/providers.d.ts +34 -5
- package/dist/usage/providers.js +160 -27
- package/dist/usage/providers.js.map +1 -1
- package/dist/usage/statusline-usage.d.ts +6 -2
- package/dist/usage/statusline-usage.js +10 -4
- package/dist/usage/statusline-usage.js.map +1 -1
- package/dist/view-api.d.ts +1 -1
- package/dist/view-api.js +38 -8
- package/dist/view-api.js.map +1 -1
- package/dist/wake-coordinator.d.ts +11 -0
- package/dist/wake-coordinator.js +38 -4
- package/dist/wake-coordinator.js.map +1 -1
- package/dist/web-api.d.ts +89 -4
- package/dist/web-api.js +551 -45
- package/dist/web-api.js.map +1 -1
- package/dist/web-auth.d.ts +2 -2
- package/dist/web-auth.js +9 -4
- package/dist/web-auth.js.map +1 -1
- package/dist/web-chat-history.d.ts +12 -1
- package/dist/web-chat-history.js +29 -7
- package/dist/web-chat-history.js.map +1 -1
- package/dist/web-commands.d.ts +27 -4
- package/dist/web-commands.js +19 -4
- package/dist/web-commands.js.map +1 -1
- package/dist/web-host-guard.d.ts +3 -11
- package/dist/web-host-guard.js +3 -12
- package/dist/web-host-guard.js.map +1 -1
- package/dist/web-images.d.ts +47 -0
- package/dist/web-images.js +169 -0
- package/dist/web-images.js.map +1 -0
- package/dist/web-login.d.ts +14 -0
- package/dist/web-login.js +4 -2
- package/dist/web-login.js.map +1 -1
- package/dist/web-mentions.d.ts +44 -0
- package/dist/web-mentions.js +75 -0
- package/dist/web-mentions.js.map +1 -0
- package/dist/web-prefs.d.ts +81 -0
- package/dist/web-prefs.js +297 -0
- package/dist/web-prefs.js.map +1 -0
- package/dist/web-preview.d.ts +14 -1
- package/dist/web-preview.js +35 -13
- package/dist/web-preview.js.map +1 -1
- package/dist/web-profile.d.ts +32 -0
- package/dist/web-profile.js +132 -0
- package/dist/web-profile.js.map +1 -0
- package/dist/web-reply-files.d.ts +45 -0
- package/dist/web-reply-files.js +223 -0
- package/dist/web-reply-files.js.map +1 -0
- package/dist/web-schedules.d.ts +12 -0
- package/dist/web-schedules.js +34 -0
- package/dist/web-schedules.js.map +1 -0
- package/dist/web-server-drain.d.ts +10 -0
- package/dist/web-server-drain.js +50 -0
- package/dist/web-server-drain.js.map +1 -0
- package/dist/web-session.d.ts +50 -1
- package/dist/web-session.js +63 -6
- package/dist/web-session.js.map +1 -1
- package/dist/web-settings-patch.d.ts +23 -0
- package/dist/web-settings-patch.js +77 -0
- package/dist/web-settings-patch.js.map +1 -0
- package/dist/web-shell-routes.d.ts +5 -1
- package/dist/web-shell-routes.js +10 -1
- package/dist/web-shell-routes.js.map +1 -1
- package/dist/web-upload.d.ts +17 -4
- package/dist/web-upload.js +64 -13
- package/dist/web-upload.js.map +1 -1
- package/dist/workflow-templates/default.md +1 -1
- package/package.json +1 -1
- package/templates/launchd.plist.ejs +3 -1
- package/templates/systemd.service.ejs +2 -1
package/dist/outbound-schemas.js
CHANGED
|
@@ -9,14 +9,21 @@ import { z } from "zod";
|
|
|
9
9
|
// Reused across multiple tools; declaring once avoids drift.
|
|
10
10
|
const NonEmptyString = z.string().min(1);
|
|
11
11
|
const MessageFormat = z.enum(["text", "markdown"]);
|
|
12
|
+
// Internal routing metadata, filled by the daemon/fleet rather than the model.
|
|
13
|
+
// Only channel-addressing schemas accept it; mcp-tools omits it from listings.
|
|
14
|
+
const ChannelAddressFields = {
|
|
15
|
+
chat_id: z.string().optional(),
|
|
16
|
+
thread_id: z.string().optional(),
|
|
17
|
+
};
|
|
12
18
|
// ── Channel interaction (handled outside outbound-handlers.ts) ──────────
|
|
13
19
|
export const ReplyArgs = z.object({
|
|
20
|
+
...ChannelAddressFields,
|
|
14
21
|
text: z.string().optional()
|
|
15
22
|
.describe("The message. Required unless you send stickers; with stickers it may be omitted."),
|
|
16
23
|
reply_to: z.string().optional()
|
|
17
24
|
.describe("Message ID to thread under. Use message_id from the inbound block."),
|
|
18
25
|
files: z.array(z.string()).optional()
|
|
19
|
-
.describe("Absolute file paths to attach. Files under the AgEnD state dir (~/.agend, incl. workspaces/) are refused — copy an artifact to /tmp first and attach that. For HTML the web chat should preview, attach a .html file (up to 1 MiB) rather than pasting the page into text: a long ```html block is split on Discord/Telegram; keep ```html blocks for short snippets."),
|
|
26
|
+
.describe("Absolute file paths to attach (at most 20). Files under the AgEnD state dir (~/.agend, incl. workspaces/) are refused — copy an artifact to /tmp first and attach that. For HTML the web chat should preview, attach a .html file (up to 1 MiB) rather than pasting the page into text: a long ```html block is split on Discord/Telegram; keep ```html blocks for short snippets."),
|
|
20
27
|
format: MessageFormat.optional().describe("Rendering mode. Default: 'text'."),
|
|
21
28
|
stickers: z.array(NonEmptyString).max(3).optional()
|
|
22
29
|
.describe("Up to 3 sticker ids from list_stickers, sent with the text (Discord: the same message; Telegram: after it). Stickers are never written in the text."),
|
|
@@ -24,18 +31,32 @@ export const ReplyArgs = z.object({
|
|
|
24
31
|
label: z.string().min(1).max(80).describe("What the button says: one line of plain text, at most 80 characters."),
|
|
25
32
|
value: z.string().max(200).optional().describe("What you receive when it is clicked, if not the label (at most 200 characters; never shown on the platform)."),
|
|
26
33
|
})).min(1).max(10).optional()
|
|
27
|
-
.describe("Up to 10 buttons under the text (needs text; not with stickers). The first click by someone who may talk to you there answers for everyone and comes back to you as a message: `[button] <label>` (and `(value: …)` when it differs). Unanswered buttons expire after 24 h."),
|
|
34
|
+
.describe("Up to 10 buttons under the text (needs text; not with stickers). The first click by someone who may talk to you there answers for everyone and comes back to you as a message: `[button] <label>` (and `(value: …)` when it differs). Unanswered buttons expire after 24 h. With `poll`, they are a poll's options instead."),
|
|
35
|
+
poll: z.object({
|
|
36
|
+
seconds: z.number().int().min(10).max(86400).describe("When the poll closes: 10 s to 24 h after it is posted."),
|
|
37
|
+
multi: z.boolean().optional().describe("Each voter may pick several options (a click toggles one). Default: one."),
|
|
38
|
+
reveal: z.enum(["close", "live"]).optional().describe("\"close\" (default): while open only \"N answered\" and the time left show, the counts at close. \"live\": the counts show as votes come."),
|
|
39
|
+
show_voters: z.boolean().optional().describe("At close, also post who picked what in the chat. Default: counts only. You get the voters either way."),
|
|
40
|
+
}).optional()
|
|
41
|
+
.describe("Make the buttons (2–10) a timed poll: everyone who may talk to you there votes once, may change their vote, and is told their own choice privately. At the deadline you get one message from AgEnD in the poll's chat, `[poll results]`: each option's count and voters, each with an id and the ms from the poll opening (just before it is posted) to their last change; answer it in the chat. AgEnD only counts votes: post the right answer and any scores yourself. The reply's result has `poll_id`."),
|
|
42
|
+
});
|
|
43
|
+
// #1823: early close of one of the caller's polls.
|
|
44
|
+
export const ClosePollArgs = z.object({
|
|
45
|
+
poll_id: z.string().regex(/^[0-9a-f]{32}$/).describe("The poll_id the reply that opened the poll returned."),
|
|
28
46
|
});
|
|
29
47
|
export const ReactArgs = z.object({
|
|
48
|
+
...ChannelAddressFields,
|
|
30
49
|
message_id: NonEmptyString,
|
|
31
50
|
emoji: NonEmptyString,
|
|
32
51
|
});
|
|
33
52
|
export const EditMessageArgs = z.object({
|
|
53
|
+
...ChannelAddressFields,
|
|
34
54
|
message_id: NonEmptyString,
|
|
35
55
|
text: NonEmptyString,
|
|
36
|
-
format: MessageFormat.optional().describe("Rendering mode. Default: 'text'."),
|
|
56
|
+
format: MessageFormat.optional().describe("Rendering mode, as for reply. Default: 'text'. Tables and code blocks don't re-render on edit."),
|
|
37
57
|
});
|
|
38
58
|
export const DownloadAttachmentArgs = z.object({
|
|
59
|
+
...ChannelAddressFields,
|
|
39
60
|
file_id: NonEmptyString.describe("The attachment_file_id from inbound meta"),
|
|
40
61
|
});
|
|
41
62
|
export const ValidateConfigArgs = z.object({});
|
|
@@ -47,10 +68,10 @@ export const CreateScheduleArgs = z.object({
|
|
|
47
68
|
.describe("One-shot ISO-8601 datetime with offset, e.g. '2026-07-26T14:00:00+08:00'. Mutually exclusive with cron."),
|
|
48
69
|
message: NonEmptyString.describe("Message to inject when triggered"),
|
|
49
70
|
target: z.string().optional()
|
|
50
|
-
.describe("Target instance name. Defaults to this instance if omitted."),
|
|
71
|
+
.describe("Target instance name. Defaults to this instance if omitted. Targeting another instance needs the full, coordinator or general tool set."),
|
|
51
72
|
label: z.string().optional().describe("Human-readable name for this schedule"),
|
|
52
73
|
timezone: z.string().optional()
|
|
53
|
-
.describe("IANA timezone, e.g. 'Asia/Taipei'. Defaults to Asia/Taipei."),
|
|
74
|
+
.describe("IANA timezone, e.g. 'Asia/Taipei'. Defaults to the fleet's defaults.scheduler.default_timezone (Asia/Taipei unless set)."),
|
|
54
75
|
silent: z.boolean().optional()
|
|
55
76
|
.describe("Silent mode: inject directly into the agent's tmux pane without posting to the channel. Useful for heartbeat or background tasks."),
|
|
56
77
|
}).refine(data => (data.cron ? 1 : 0) + (data.at ? 1 : 0) === 1, {
|
|
@@ -210,7 +231,7 @@ export const ListModelsArgs = z.object({
|
|
|
210
231
|
});
|
|
211
232
|
export const GetInstanceLogsArgs = z.object({
|
|
212
233
|
name: NonEmptyString.describe("The instance name to get logs for"),
|
|
213
|
-
lines: z.number().int().positive().optional().describe("Number of lines to return (default: 50)"),
|
|
234
|
+
lines: z.number().int().positive().optional().describe("Number of lines to return (default: 50, max 200)"),
|
|
214
235
|
});
|
|
215
236
|
export const GetFleetConfigArgs = z.object({
|
|
216
237
|
scope: z.enum(["defaults", "instance"]).optional().describe("Config scope: 'defaults' for fleet defaults, 'instance' for a specific instance"),
|
|
@@ -219,8 +240,8 @@ export const GetFleetConfigArgs = z.object({
|
|
|
219
240
|
export const UpdateInstanceConfigArgs = z.object({
|
|
220
241
|
name: NonEmptyString.describe("Instance name to update"),
|
|
221
242
|
config: z.object({
|
|
222
|
-
backend: z.string().optional().describe("CLI backend"),
|
|
223
|
-
model: z.string().optional().describe("Model override"),
|
|
243
|
+
backend: z.string().optional().describe("CLI backend. A switch restarts a running instance in a fresh session (a stopped or paused one stays so, and starts on it next time), and drops the instance's own model and effort: give `model` here for the new backend, or it inherits the fleet default, else that backend's own default."),
|
|
244
|
+
model: z.string().optional().describe("Model override. With a backend switch: a model the new backend takes, else the switch is refused."),
|
|
224
245
|
auto_pause_after: z.number().optional().describe("Minutes idle before auto-pause (0 = disabled)"),
|
|
225
246
|
display_name: z.string().optional().describe("Display name"),
|
|
226
247
|
description: z.string().optional().describe("Role description"),
|
|
@@ -265,9 +286,13 @@ export const CreateInstanceArgs = z.object({
|
|
|
265
286
|
workflow: z.string().optional().describe("Workflow template. 'builtin' (default), 'false' to disable, or custom text."),
|
|
266
287
|
}).passthrough();
|
|
267
288
|
// ── Cross-instance communication ────────────────────────────────────────
|
|
289
|
+
const ForwardMessageIds = z.array(z.string().min(1).max(256).regex(/^[^\s\u0000-\u001f\u007f]+$/))
|
|
290
|
+
.max(16).refine(ids => new Set(ids).size === ids.length, "Each forwarded message ID must appear only once")
|
|
291
|
+
.optional().describe("Explicit message IDs to share read-only verification access with the receiver. You must already be able to read each delivered row. Mentioning an ID in text grants no access; every relay hop must forward it explicitly.");
|
|
268
292
|
export const SendToInstanceArgs = z.object({
|
|
269
293
|
instance_name: NonEmptyString.describe("Name of the target instance (e.g., 'ccplugin', 'blog-t1385'). Use list_instances to see available instances."),
|
|
270
294
|
message: NonEmptyString.describe("The message to send to the target instance."),
|
|
295
|
+
forwards: ForwardMessageIds,
|
|
271
296
|
steer: z.boolean().optional().describe("Inject as a supplement into the target's CURRENT turn — for correcting or adding to work you just sent. Omit for a new task. Safe: an idle target receives it normally; an unsupported backend falls back to the idle queue."),
|
|
272
297
|
request_kind: z.enum(["query", "task", "report", "update"]).optional().describe("Categorizes the message intent. 'query' = asking a question, 'task' = delegating work, 'report' = returning results, 'update' = status notification."),
|
|
273
298
|
requires_reply: z.boolean().optional()
|
|
@@ -308,6 +333,7 @@ export const RequestInformationArgs = z.object({
|
|
|
308
333
|
export const DelegateTaskArgs = z.object({
|
|
309
334
|
target_instance: NonEmptyString.describe("Name of the instance to delegate to."),
|
|
310
335
|
task: NonEmptyString.describe("Description of the task to perform."),
|
|
336
|
+
forwards: ForwardMessageIds,
|
|
311
337
|
steer: z.boolean().optional().describe("Inject as a supplement into the target's CURRENT turn — for correcting or adding to work you just sent. Omit for a new task. Safe: an idle target receives it normally; an unsupported backend falls back to the idle queue."),
|
|
312
338
|
success_criteria: z.string().optional()
|
|
313
339
|
.describe("How the recipient should judge if the task is complete."),
|
|
@@ -354,6 +380,8 @@ export const UpdateTeamArgs = z.object({
|
|
|
354
380
|
.describe("Instance names to add (duplicates ignored)"),
|
|
355
381
|
remove: z.array(z.string()).optional()
|
|
356
382
|
.describe("Instance names to remove"),
|
|
383
|
+
description: z.string().max(2000).optional()
|
|
384
|
+
.describe("New description of the team's purpose; an empty string clears it. A team cannot be renamed."),
|
|
357
385
|
});
|
|
358
386
|
export const ListTeamsArgs = z.object({});
|
|
359
387
|
// ── Fleet Templates ─────────────────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outbound-schemas.js","sourceRoot":"","sources":["../src/outbound-schemas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"outbound-schemas.js","sourceRoot":"","sources":["../src/outbound-schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CloudflaredInstallErrorKind } from "./tunnel/cloudflared-install.js";
|
|
2
2
|
export type PublicLinkStep = "check" | "download" | "verify" | "tunnel" | "address" | "deliver";
|
|
3
3
|
/** Why a step failed, as one of a fixed set: each has its own static sentence. */
|
|
4
|
-
export type PublicLinkFailure = "unsupported-platform" | "download-failed" | "checksum-mismatch" | "install-failed" | "cancelled" | "spawn-failed" | "no-address" | "unreachable" | "lease-held" | "gateway-failed" | "delivery-failed" | "closed" | "unknown";
|
|
4
|
+
export type PublicLinkFailure = "unsupported-platform" | "download-failed" | "checksum-mismatch" | "install-failed" | "cancelled" | "spawn-failed" | "no-address" | "unreachable" | "lease-held" | "gateway-failed" | "delivery-failed" | "closed" | "unknown" | "rate-limited" | "provisioning-failed" | "process-exited" | "bad-address";
|
|
5
5
|
export interface PublicLinkProgress {
|
|
6
6
|
readonly startedAt: number;
|
|
7
7
|
/** Steps begun so far, in order; the last one without `endedAt` is the one running. */
|
|
@@ -26,10 +26,16 @@ export function failureOf(kind) {
|
|
|
26
26
|
case "spawn-failed":
|
|
27
27
|
case "not-logged-in":
|
|
28
28
|
return "spawn-failed";
|
|
29
|
-
|
|
30
|
-
case "bad-url":
|
|
29
|
+
// #1767: only a real timeout is "no address in time"; an exit before the address says what it was.
|
|
31
30
|
case "timeout":
|
|
32
31
|
return "no-address";
|
|
32
|
+
case "rate-limited":
|
|
33
|
+
case "provisioning-failed":
|
|
34
|
+
return kind;
|
|
35
|
+
case "no-url":
|
|
36
|
+
return "process-exited";
|
|
37
|
+
case "bad-url":
|
|
38
|
+
return "bad-address";
|
|
33
39
|
case "readiness-failed":
|
|
34
40
|
return "unreachable";
|
|
35
41
|
default:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-link-progress.js","sourceRoot":"","sources":["../src/public-link-progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAIhC,MAAM,KAAK,GAA8B,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACzG,MAAM,OAAO,GAAmC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"public-link-progress.js","sourceRoot":"","sources":["../src/public-link-progress.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { createServer, type Server } from "node:http";
|
|
2
|
+
import { type PublicLinkFailure } from "./public-link-progress.js";
|
|
3
|
+
import { type ManagedTunnel } from "./tunnel/manager.js";
|
|
4
|
+
import type { TunnelProvider, TunnelStopResult } from "./tunnel/types.js";
|
|
5
|
+
/**
|
|
6
|
+
* What a public-link page may frame: any quick tunnel's /frame — the preview host is not known when the page may
|
|
7
|
+
* load. The page only ever points its frame at the origin its exposure names; the boundary is the preview side's
|
|
8
|
+
* exact frame-ancestors, its sandbox and its connect-src 'none' (#1723 design, option 1). Public-link pages only.
|
|
9
|
+
*/
|
|
10
|
+
export declare const PUBLIC_PREVIEW_FRAME_SRC = "https://*.trycloudflare.com/frame";
|
|
11
|
+
/**
|
|
12
|
+
* #1732: a preview tunnel that came up unreachable is started once more, with a fresh quick tunnel — only if the first
|
|
13
|
+
* attempt ended within this long of the preview's start, so that the second (one 60 s startup budget) still ends
|
|
14
|
+
* inside the page's 5-minute wait for it (preview-status.js).
|
|
15
|
+
*/
|
|
16
|
+
export declare const PREVIEW_RETRY_WITHIN_MS = 180000;
|
|
17
|
+
/** Where the public link's preview tunnel keeps its own lease (never the fleet's one `tunnel.lease`). */
|
|
18
|
+
export declare const PUBLIC_PREVIEW_TUNNEL_DIR = "preview-tunnel";
|
|
19
|
+
/**
|
|
20
|
+
* Whether a public link gets a preview tunnel of its own: previews on (`web.preview`), on for the public link
|
|
21
|
+
* (`web.preview_on_public_link`, default true), and no `web.preview_origin` — a configured one is used instead.
|
|
22
|
+
*/
|
|
23
|
+
export declare function publicPreviewWanted(web: {
|
|
24
|
+
preview?: unknown;
|
|
25
|
+
preview_on_public_link?: unknown;
|
|
26
|
+
preview_origin?: unknown;
|
|
27
|
+
} | null | undefined): boolean;
|
|
28
|
+
/** Why the public link has no preview: a tunnel step's reason, or `exited` — it was up and then went away. */
|
|
29
|
+
export type PublicPreviewFailure = PublicLinkFailure | "exited";
|
|
30
|
+
export type PublicPreviewStatus = {
|
|
31
|
+
readonly state: "starting";
|
|
32
|
+
} | {
|
|
33
|
+
readonly state: "ready";
|
|
34
|
+
readonly origin: string;
|
|
35
|
+
readonly boot: string;
|
|
36
|
+
} | {
|
|
37
|
+
readonly state: "failed";
|
|
38
|
+
readonly reason: PublicPreviewFailure;
|
|
39
|
+
};
|
|
40
|
+
export interface PublicPreviewGateway {
|
|
41
|
+
readonly server: Server;
|
|
42
|
+
readonly readinessMarker: string;
|
|
43
|
+
readonly bootId: string;
|
|
44
|
+
listen(): Promise<URL>;
|
|
45
|
+
setHost(host: string | null): void;
|
|
46
|
+
close(): void;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The preview gateway: `GET /frame` → the shim, framable only by `dashboardOrigin()` (503 until that is known);
|
|
50
|
+
* `GET /ready` → the tunnel's readiness marker; anything else → empty 404. A Host other than this tunnel's own, or an
|
|
51
|
+
* exposure no longer current → empty 403. No cookie or header but Host is read, nothing is logged per request.
|
|
52
|
+
*/
|
|
53
|
+
export declare function createPublicPreviewGateway(opts: {
|
|
54
|
+
exposureId: string;
|
|
55
|
+
dashboardOrigin(): string | null;
|
|
56
|
+
isCurrent(): boolean;
|
|
57
|
+
bootId?: string;
|
|
58
|
+
create?: typeof createServer;
|
|
59
|
+
}): PublicPreviewGateway;
|
|
60
|
+
/**
|
|
61
|
+
* One exposure's preview: its gateway and its quick tunnel, on a manager (and lease) of its own — never the fleet's
|
|
62
|
+
* one tunnel lane, which the dashboard link holds while this exists. start() returns at once; the work runs behind it
|
|
63
|
+
* and only ever changes this object's status.
|
|
64
|
+
*/
|
|
65
|
+
export declare class PublicPreview {
|
|
66
|
+
private readonly deps;
|
|
67
|
+
private current;
|
|
68
|
+
private readonly abort;
|
|
69
|
+
private gateway;
|
|
70
|
+
private running;
|
|
71
|
+
private stopping;
|
|
72
|
+
private unsubscribe;
|
|
73
|
+
constructor(deps: {
|
|
74
|
+
exposureId: string;
|
|
75
|
+
/** This exposure's dashboard origin (`https://<host>`), once its tunnel has one. */
|
|
76
|
+
dashboardOrigin(): string | null;
|
|
77
|
+
/** The exposure is still the open one: false fences every request and every later step. */
|
|
78
|
+
isCurrent(): boolean;
|
|
79
|
+
expiresAt: number;
|
|
80
|
+
manager: Pick<ManagedTunnel, "start" | "stop">;
|
|
81
|
+
provider(): TunnelProvider;
|
|
82
|
+
createGateway?: (opts: Parameters<typeof createPublicPreviewGateway>[0]) => PublicPreviewGateway;
|
|
83
|
+
/** Monotonic clock (ms) for the retry's bound; performance.now by default. */
|
|
84
|
+
now?(): number;
|
|
85
|
+
/** Told once when the preview settles (ready or failed), for the link's progress message. */
|
|
86
|
+
onSettled?(status: PublicPreviewStatus): void;
|
|
87
|
+
/** `detail` (#1767): why, fit for daemon.log — never a URL. */
|
|
88
|
+
log?(event: string, detail?: string): void;
|
|
89
|
+
});
|
|
90
|
+
status(): PublicPreviewStatus;
|
|
91
|
+
/** Start in the background. Never throws, never awaited by the link: its outcome is only ever this status. */
|
|
92
|
+
start(): void;
|
|
93
|
+
private live;
|
|
94
|
+
private settle;
|
|
95
|
+
private run;
|
|
96
|
+
/**
|
|
97
|
+
* The exposure is closing: fence now (no request is answered from here on), then end the start in flight and the
|
|
98
|
+
* tunnel — on proof, as the link's own tunnel is stopped.
|
|
99
|
+
*/
|
|
100
|
+
stop(reason: string): Promise<TunnelStopResult>;
|
|
101
|
+
}
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* #1723: HTML previews over the temporary public link. Design: #1723 issuecomment-6127793728.
|
|
3
|
+
*
|
|
4
|
+
* The public dashboard (`https://<a>.trycloudflare.com`) gets a preview origin of its own: a second quick tunnel to a
|
|
5
|
+
* per-exposure preview gateway, at `https://<b>.trycloudflare.com`. trycloudflare.com is on the Public Suffix List, so
|
|
6
|
+
* the two are different sites — the frame is cross-site to the dashboard (its own process, no shared cookies), which
|
|
7
|
+
* isolates better than the local same-site default.
|
|
8
|
+
*
|
|
9
|
+
* The gateway serves exactly the local listener's frame (web-preview.ts: the shim, its CSP, sandbox, no network) with
|
|
10
|
+
* `frame-ancestors` = this exposure's dashboard origin and nothing else; a readiness page for the tunnel's probe; and
|
|
11
|
+
* nothing more. It is never the dashboard host, and the dashboard host never serves it (isPublicWebRoute has no
|
|
12
|
+
* /frame).
|
|
13
|
+
*
|
|
14
|
+
* It never delays the link: PublicWebLink starts it without awaiting it, and nothing of the link's steps reads it.
|
|
15
|
+
* Until it is ready the page says "Preview is starting…" and asks /ui/preview-status; if it fails, the link is
|
|
16
|
+
* untouched and the page says why. It lives and dies with its exposure.
|
|
17
|
+
*/
|
|
18
|
+
import { randomBytes } from "node:crypto";
|
|
19
|
+
import { createServer } from "node:http";
|
|
20
|
+
import { normalizeOrigin, previewFrameResponse } from "./web-preview.js";
|
|
21
|
+
import { failureOf } from "./public-link-progress.js";
|
|
22
|
+
import { newTunnelSid } from "./tunnel/manager.js";
|
|
23
|
+
import { logDetail } from "./public-web-link.js";
|
|
24
|
+
const QUICK_TUNNEL_HOST = /^[a-z0-9-]+\.trycloudflare\.com$/;
|
|
25
|
+
/**
|
|
26
|
+
* What a public-link page may frame: any quick tunnel's /frame — the preview host is not known when the page may
|
|
27
|
+
* load. The page only ever points its frame at the origin its exposure names; the boundary is the preview side's
|
|
28
|
+
* exact frame-ancestors, its sandbox and its connect-src 'none' (#1723 design, option 1). Public-link pages only.
|
|
29
|
+
*/
|
|
30
|
+
export const PUBLIC_PREVIEW_FRAME_SRC = "https://*.trycloudflare.com/frame";
|
|
31
|
+
/**
|
|
32
|
+
* #1732: a preview tunnel that came up unreachable is started once more, with a fresh quick tunnel — only if the first
|
|
33
|
+
* attempt ended within this long of the preview's start, so that the second (one 60 s startup budget) still ends
|
|
34
|
+
* inside the page's 5-minute wait for it (preview-status.js).
|
|
35
|
+
*/
|
|
36
|
+
export const PREVIEW_RETRY_WITHIN_MS = 180_000;
|
|
37
|
+
/** Where the public link's preview tunnel keeps its own lease (never the fleet's one `tunnel.lease`). */
|
|
38
|
+
export const PUBLIC_PREVIEW_TUNNEL_DIR = "preview-tunnel";
|
|
39
|
+
/**
|
|
40
|
+
* Whether a public link gets a preview tunnel of its own: previews on (`web.preview`), on for the public link
|
|
41
|
+
* (`web.preview_on_public_link`, default true), and no `web.preview_origin` — a configured one is used instead.
|
|
42
|
+
*/
|
|
43
|
+
export function publicPreviewWanted(web) {
|
|
44
|
+
if (web?.preview === false || web?.preview_on_public_link === false)
|
|
45
|
+
return false;
|
|
46
|
+
return !(typeof web?.preview_origin === "string" && normalizeOrigin(web.preview_origin));
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The preview gateway: `GET /frame` → the shim, framable only by `dashboardOrigin()` (503 until that is known);
|
|
50
|
+
* `GET /ready` → the tunnel's readiness marker; anything else → empty 404. A Host other than this tunnel's own, or an
|
|
51
|
+
* exposure no longer current → empty 403. No cookie or header but Host is read, nothing is logged per request.
|
|
52
|
+
*/
|
|
53
|
+
export function createPublicPreviewGateway(opts) {
|
|
54
|
+
let host = null;
|
|
55
|
+
const bootId = opts.bootId ?? randomBytes(16).toString("hex");
|
|
56
|
+
const marker = `agend-preview-${opts.exposureId}`;
|
|
57
|
+
const sockets = new Set();
|
|
58
|
+
let frame = null;
|
|
59
|
+
const empty = (res, status) => {
|
|
60
|
+
res.writeHead(status, { "Content-Length": "0", "Cache-Control": "no-store", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "no-referrer" });
|
|
61
|
+
res.end();
|
|
62
|
+
};
|
|
63
|
+
const server = (opts.create ?? createServer)((req, res) => {
|
|
64
|
+
try {
|
|
65
|
+
if (!opts.isCurrent() || !host || req.headers.host !== host)
|
|
66
|
+
return empty(res, 403);
|
|
67
|
+
if (req.method !== "GET")
|
|
68
|
+
return empty(res, 404);
|
|
69
|
+
if (req.url === "/ready") {
|
|
70
|
+
res.writeHead(200, { "Content-Type": "text/html; charset=utf-8", "Cache-Control": "no-store", "X-Content-Type-Options": "nosniff" });
|
|
71
|
+
res.end(`<html><body>${marker}</body></html>`);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (req.url !== "/frame")
|
|
75
|
+
return empty(res, 404);
|
|
76
|
+
const origin = opts.dashboardOrigin();
|
|
77
|
+
if (!origin)
|
|
78
|
+
return empty(res, 503);
|
|
79
|
+
// Built for the one dashboard origin this exposure has; rebuilt only if that ever changes.
|
|
80
|
+
if (frame?.origin !== origin)
|
|
81
|
+
frame = { origin, ...previewFrameResponse(bootId, [origin]) };
|
|
82
|
+
res.writeHead(200, frame.headers);
|
|
83
|
+
res.end(frame.body);
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
if (!res.headersSent)
|
|
87
|
+
empty(res, 400);
|
|
88
|
+
else
|
|
89
|
+
res.destroy();
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
server.maxHeadersCount = 32;
|
|
93
|
+
server.headersTimeout = 5_000;
|
|
94
|
+
server.requestTimeout = 10_000;
|
|
95
|
+
server.keepAliveTimeout = 5_000;
|
|
96
|
+
server.setTimeout(15_000, socket => socket.destroy());
|
|
97
|
+
server.on("connection", socket => { if (sockets.size >= 32) {
|
|
98
|
+
socket.destroy();
|
|
99
|
+
return;
|
|
100
|
+
} sockets.add(socket); socket.on("close", () => sockets.delete(socket)); });
|
|
101
|
+
server.on("upgrade", (_req, socket) => socket.destroy());
|
|
102
|
+
server.on("connect", (_req, socket) => socket.destroy());
|
|
103
|
+
server.on("clientError", (_err, socket) => socket.destroy());
|
|
104
|
+
server.on("error", () => { host = null; });
|
|
105
|
+
return {
|
|
106
|
+
server, readinessMarker: marker, bootId,
|
|
107
|
+
listen: () => new Promise((resolve, rejectListen) => {
|
|
108
|
+
server.once("error", rejectListen);
|
|
109
|
+
server.listen(0, "127.0.0.1", () => {
|
|
110
|
+
server.off("error", rejectListen);
|
|
111
|
+
const address = server.address();
|
|
112
|
+
if (!address || typeof address === "string") {
|
|
113
|
+
rejectListen(new Error("preview gateway not bound"));
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
resolve(new URL(`http://127.0.0.1:${address.port}`));
|
|
117
|
+
});
|
|
118
|
+
}),
|
|
119
|
+
setHost: value => {
|
|
120
|
+
if (value !== null && !QUICK_TUNNEL_HOST.test(value))
|
|
121
|
+
throw new Error("invalid tunnel host");
|
|
122
|
+
host = value;
|
|
123
|
+
},
|
|
124
|
+
close: () => {
|
|
125
|
+
host = null;
|
|
126
|
+
server.close();
|
|
127
|
+
server.closeAllConnections();
|
|
128
|
+
for (const socket of sockets)
|
|
129
|
+
socket.destroy();
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* One exposure's preview: its gateway and its quick tunnel, on a manager (and lease) of its own — never the fleet's
|
|
135
|
+
* one tunnel lane, which the dashboard link holds while this exists. start() returns at once; the work runs behind it
|
|
136
|
+
* and only ever changes this object's status.
|
|
137
|
+
*/
|
|
138
|
+
export class PublicPreview {
|
|
139
|
+
deps;
|
|
140
|
+
current = { state: "starting" };
|
|
141
|
+
abort = new AbortController();
|
|
142
|
+
gateway = null;
|
|
143
|
+
running = Promise.resolve();
|
|
144
|
+
stopping = null;
|
|
145
|
+
unsubscribe;
|
|
146
|
+
constructor(deps) {
|
|
147
|
+
this.deps = deps;
|
|
148
|
+
}
|
|
149
|
+
status() { return this.current; }
|
|
150
|
+
/** Start in the background. Never throws, never awaited by the link: its outcome is only ever this status. */
|
|
151
|
+
start() {
|
|
152
|
+
this.running = this.run().catch((err) => {
|
|
153
|
+
this.settle({ state: "failed", reason: err instanceof PreviewStartFailure ? err.reason : this.abort.signal.aborted ? "closed" : "unknown" }, logDetail(err instanceof PreviewStartFailure ? err.detail : err?.message));
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
live() { return !this.abort.signal.aborted && !this.stopping && this.deps.isCurrent(); }
|
|
157
|
+
settle(status, detail) {
|
|
158
|
+
if (this.current.state !== "starting" && status.state !== "failed")
|
|
159
|
+
return;
|
|
160
|
+
if (this.current.state === "failed")
|
|
161
|
+
return;
|
|
162
|
+
this.current = status;
|
|
163
|
+
if (status.state === "failed")
|
|
164
|
+
this.gateway?.setHost(null);
|
|
165
|
+
this.deps.log?.(status.state === "failed" ? `preview ${status.reason}` : "preview ready", detail);
|
|
166
|
+
try {
|
|
167
|
+
this.deps.onSettled?.(status);
|
|
168
|
+
}
|
|
169
|
+
catch { /* a progress message is no reason to fail */ }
|
|
170
|
+
}
|
|
171
|
+
async run() {
|
|
172
|
+
const now = this.deps.now ?? (() => performance.now());
|
|
173
|
+
const startedAt = now();
|
|
174
|
+
const gateway = (this.deps.createGateway ?? createPublicPreviewGateway)({
|
|
175
|
+
exposureId: this.deps.exposureId, dashboardOrigin: () => this.deps.dashboardOrigin(),
|
|
176
|
+
isCurrent: () => this.live() && this.current.state !== "failed",
|
|
177
|
+
});
|
|
178
|
+
this.gateway = gateway;
|
|
179
|
+
const origin = await gateway.listen().catch(() => { throw new PreviewStartFailure("gateway-failed"); });
|
|
180
|
+
if (!this.live())
|
|
181
|
+
throw new PreviewStartFailure("closed");
|
|
182
|
+
const attempt = () => this.deps.manager.start(this.deps.provider(), {
|
|
183
|
+
sid: newTunnelSid(), origin, pagePath: "/ready", readinessMarker: gateway.readinessMarker, expiresAt: this.deps.expiresAt,
|
|
184
|
+
signal: this.abort.signal, onCandidateHost: host => { if (this.live())
|
|
185
|
+
gateway.setHost(host); },
|
|
186
|
+
});
|
|
187
|
+
let result = await attempt();
|
|
188
|
+
// #1732: unreachable is often the edge's jitter, and a fresh quick tunnel comes up: once, while this exposure is
|
|
189
|
+
// live, its child proven gone (no lease held), and early enough to end inside the page's wait. Still "starting".
|
|
190
|
+
if (!result.ok && failureOf(result.errorKind) === "unreachable" && !result.leaseHeld && this.live()
|
|
191
|
+
&& this.current.state === "starting" && now() - startedAt <= PREVIEW_RETRY_WITHIN_MS) {
|
|
192
|
+
gateway.setHost(null); // the first tunnel's host is never answered again
|
|
193
|
+
this.deps.log?.("preview unreachable; retrying once");
|
|
194
|
+
result = await attempt();
|
|
195
|
+
}
|
|
196
|
+
if (!result.ok)
|
|
197
|
+
throw new PreviewStartFailure(failureOf(result.errorKind), result.message);
|
|
198
|
+
if (!this.live())
|
|
199
|
+
throw new PreviewStartFailure("closed");
|
|
200
|
+
const published = new URL(result.handle.pageUrl);
|
|
201
|
+
if (published.protocol !== "https:" || published.pathname !== "/ready" || !QUICK_TUNNEL_HOST.test(published.host)) {
|
|
202
|
+
throw new PreviewStartFailure("no-address");
|
|
203
|
+
}
|
|
204
|
+
gateway.setHost(published.host);
|
|
205
|
+
this.unsubscribe = result.handle.onUnexpectedExit(() => { this.settle({ state: "failed", reason: "exited" }); });
|
|
206
|
+
this.settle({ state: "ready", origin: published.origin, boot: gateway.bootId });
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* The exposure is closing: fence now (no request is answered from here on), then end the start in flight and the
|
|
210
|
+
* tunnel — on proof, as the link's own tunnel is stopped.
|
|
211
|
+
*/
|
|
212
|
+
stop(reason) {
|
|
213
|
+
if (this.stopping)
|
|
214
|
+
return this.stopping;
|
|
215
|
+
this.abort.abort();
|
|
216
|
+
this.unsubscribe?.();
|
|
217
|
+
this.gateway?.setHost(null);
|
|
218
|
+
this.gateway?.close();
|
|
219
|
+
this.stopping = (async () => {
|
|
220
|
+
await this.running.catch(() => { });
|
|
221
|
+
this.gateway?.close(); // listen may have finished after the first close
|
|
222
|
+
return this.deps.manager.stop(reason);
|
|
223
|
+
})();
|
|
224
|
+
return this.stopping;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
class PreviewStartFailure extends Error {
|
|
228
|
+
reason;
|
|
229
|
+
detail;
|
|
230
|
+
constructor(reason, detail) {
|
|
231
|
+
super(reason);
|
|
232
|
+
this.reason = reason;
|
|
233
|
+
this.detail = detail;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
//# sourceMappingURL=public-preview.js.map
|