Your agent team, on your machine. Open-source harness for multi-user Claude agents.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport streamable-http · http counts 41 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
admin__navigate
-
agent__expire_conversations
-
agent__list_channels
-
agent__list_participants
-
agent__list_peers
-
approval__list
-
configure__list_extension_secrets
-
configure__list_participants
-
configure__validate
-
conversation__end
-
conversation__list_summaries
-
conversation__push_to_channel
-
conversation__push_to_participant
-
conversation__write_summary
-
design__agent_status
-
design__request_review
-
design__revert_to_draft
-
design__set_description
-
design__validate
-
design_manager__create_agents
-
file__append_feed
-
file__list_watches
-
file__unwatch
-
file__watch_feed
-
manager__events
-
manager__list
-
manager__read
-
manager__resurvey
-
pip__install
-
pip__list
-
request__close
-
request__list
-
security__finalize_agent
-
task__cancel
-
task__list
-
task__list_runs
-
task__pause
-
task__resume
-
task__schedule
-
time__convert
-
time__now
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 70fa5ea · analyzer v33 · 6d ago
skills & prompt files 6
- skill yaodub-cast-70fa5ea/.claude/skills/cast-build/SKILL.md
- skill yaodub-cast-70fa5ea/.claude/skills/cast-debug/SKILL.md
- skill yaodub-cast-70fa5ea/.claude/skills/cast-refine/SKILL.md
- agent-rules yaodub-cast-70fa5ea/CLAUDE.md
- agent-rules yaodub-cast-70fa5ea/packages/agent-kit/CLAUDE.md
- skill yaodub-cast-70fa5ea/packages/ext-gmessages/manual/SKILL.md
danger signals3
- suspicious endpoint t.me
expected for this server's purpose
yaodub-cast-70fa5ea/apps/site/src/routes/docs/transports/Telegram.tsx :30
<a href="https://t.me/BotFather">@BotFather</a>. - suspicious endpoint api.telegram.org
expected for this server's purpose
yaodub-cast-70fa5ea/packages/cast/src/transports/telegram.ts :318
const url = `https://api.telegram.org/file/bot${token}/${file.file_path}`; - suspicious endpoint t.me
expected for this server's purpose
yaodub-cast-70fa5ea/packages/cast/src/transports/telegram.ts :671
1. Open Telegram and start a chat with [@BotFather](https://t.me/BotFather).
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 627
filesystem 179
- fs (weak) yaodub-cast-70fa5ea/apps/site/scripts/twemoji-bundle.mjs :7
import fs from 'node:fs/promises'; - fs yaodub-cast-70fa5ea/packages/agent-kit/src/build-service.ts :2
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/agent-kit/src/check.ts :1
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/agent-kit/src/config.ts :1
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/agent-kit/src/create.ts :1
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/agent-kit/src/helpers.ts :1
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/agent-kit/src/init.ts :3
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/agent-kit/src/list.ts :1
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/agent-kit/src/templates/service-skeleton.ts :12
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/agent-runner/build.mjs :15
import { accessSync, constants } from 'fs'; - fs yaodub-cast-70fa5ea/packages/agent-runner/image-hash.mjs :17
import { readdirSync, readFileSync, statSync } from 'fs'; - fs yaodub-cast-70fa5ea/packages/agent-runner/src/index.ts :17
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/agent-service-base/src/credentials.ts :7
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/agent-service-base/src/mcp.ts :8
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/agent-service-base/src/prompt.ts :14
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/agent-service-base/src/service.test.ts :7
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/agent-service-base/src/service.ts :7
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/scripts/validate-all-agents.ts :9
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/acl.test.ts :38
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/admin/agent-create.ts :13
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/admin/routers/agent.ts :6
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/admin/routers/extension/calendar.ts :9
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/admin/routers/extension/email.ts :8
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/admin/routers/extension/gmessages.ts :18
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/admin/routers/extension/helpers.test.ts :19
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/admin/routers/extension/helpers.ts :7
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/admin/routers/extension/whatsapp.ts :8
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/admin/routers/mcp-servers.ts :7
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/admin/routers/route.test.ts :20
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/admin/routers/route.ts :14
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/admin/routers/service.test.ts :17
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/admin/routers/service.ts :19
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/admin/routers/tokens.ts :8
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/admin/trpc.ts :13
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/agent-create-description.test.ts :6
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/agent-db-events.test.ts :1
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/agent-db.test.ts :16
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/agent-manager-invariants.test.ts :319
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/agent-manager-project-event.test.ts :55
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/agent-push.test.ts :27
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/agent/agent-backup.ts :13
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/agent/agent-db.ts :11
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/agent/agent-manager.ts :11
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/agent/agent-service-restart.test.ts :16
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/agent/agent-service.ts :13
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/agent/console-builders.ts :7
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/agent/conversation-runner.ts :68
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/agent/file-watch-service.test.ts :13
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/agent/file-watch-service.ts :22
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/agent/mcp-proxy.ts :16
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/agent/mcp-server.ts :13
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/agent/register-pip-tools.ts :10
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/agent/state-store.ts :13
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/auth/acl-edge-writers.test.ts :10
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/auth/acl.ts :66
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/auth/identity.ts :11
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/auth/user-push-store.test.ts :10
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/auth/user-push-store.ts :17
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/config.ts :3
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/console-audit-log.test.ts :8
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/console-configure-tools.test.ts :9
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/console-lifecycle.test.ts :7
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/console-manager-tools.test.ts :11
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/console-mounts.test.ts :7
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/console-surface-summary.test.ts :7
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/console-validation.test.ts :9
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/console/base-mounts.ts :6
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/console/config-manager/prompt.ts :11
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/console/configure/mounts.ts :16
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/console/console-db.ts :27
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/console/design-manager/prompt.ts :8
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/console/design/mounts.ts :10
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/console/index.ts :15
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/console/prompt.ts :9
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/console/security-manager/prompt.ts :9
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/console/shared/extension-manuals.ts :22
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/console/shared/lifecycle.ts :15
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/console/shared/manager-tools.ts :25
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/console/shared/page-manual.ts :20
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/console/shared/surface-summary.ts :26
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/console/shared/transport-manuals.ts :16
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/console/shared/validation.ts :19
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/console/shared/view-dir-maintenance.ts :24
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/console/snapshot.ts :13
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/console/tools.ts :13
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/container-runner.test.ts :112
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/container/container-mounts.test.ts :11
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/container/container-mounts.ts :15
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/container/container-runner.ts :9
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/container/mcp-transport.ts :2
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/conversations/catalog.test.ts :12
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/conversations/channel-config.ts :1
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/conversations/conversation.test.ts :14
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/conversations/facade.test.ts :7
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/env.ts :10
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/extensions/registry.ts :14
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/file-watcher.test.ts :2
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/gateway/gateway-db.ts :8
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/graceful-shutdown.test.ts :26
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/identity-roster.test.ts :26
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/index.ts :3
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/lib/agent-paths.test.ts :11
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/lib/agent-paths.ts :16
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/lib/attachment-store.ts :8
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/lib/audit-log.ts :14
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/lib/claude-credentials.ts :1
import { readFileSync } from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/lib/env-file.ts :14
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/lib/feed-format.test.ts :7
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/lib/feed-format.ts :29
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/lib/file-watcher.ts :12
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/lib/identity-roster.ts :10
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/lib/secrets-file.ts :12
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/lib/utils.ts :8
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/list-tools.test.ts :21
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/mcp-server.test.ts :2
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/pre-commit-hook.test.ts :8
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/prompt-assembly.test.ts :28
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/route-parity.test.ts :20
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/server/host-activity-log.ts :19
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/session-pipeline.test.ts :334
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/cast/src/state-store.test.ts :2
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/transports/email.ts :17
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/transports/slack.ts :30
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/transports/telegram.ts :1
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/cast/src/transports/web.ts :16
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/ext-calendar/build.ts :11
import fs from 'node:fs'; - fs yaodub-cast-70fa5ea/packages/ext-calendar/src/caldav.ts :9
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/ext-calendar/src/extension.ts :7
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/ext-calendar/src/google.ts :8
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/ext-email/build.ts :12
import fs from 'node:fs'; - fs yaodub-cast-70fa5ea/packages/ext-email/src/extension.ts :14
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/ext-email/src/subscription-manager.test.ts :14
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/ext-email/src/types.ts :6
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/ext-gmessages/build.ts :13
import fs from 'node:fs'; - fs (weak) yaodub-cast-70fa5ea/packages/ext-gmessages/scripts/live-check.ts :30
import fs from 'node:fs'; - fs yaodub-cast-70fa5ea/packages/ext-gmessages/src/connect.ts :13
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/ext-gmessages/src/connection.test.ts :9
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/ext-gmessages/src/connection.ts :18
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/ext-gmessages/src/extension.media.test.ts :9
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/ext-gmessages/src/extension.ts :14
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/ext-gmessages/src/watch-manager.test.ts :8
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/ext-gmessages/src/watch-manager.ts :15
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/ext-web-fetch/build.ts :23
import fs from 'node:fs'; - fs yaodub-cast-70fa5ea/packages/ext-web-fetch/src/index.ts :15
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/ext-whatsapp/build.ts :14
import fs from 'node:fs'; - fs (weak) yaodub-cast-70fa5ea/packages/ext-whatsapp/scripts/reference/sync-to-db.ts :24
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/ext-whatsapp/src/connection.test.ts :8
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/ext-whatsapp/src/connection.ts :7
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/ext-whatsapp/src/contact-resolver.ts :20
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/ext-whatsapp/src/extension.ts :12
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/ext-whatsapp/src/helpers.ts :7
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/ext-whatsapp/src/store.test.ts :6
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/ext-whatsapp/src/store.ts :23
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/packages/ext-whatsapp/src/watch-manager.test.ts :11
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/ext-whatsapp/src/watch-manager.ts :8
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/web-fetch/build.ts :15
import fs from 'node:fs'; - fs yaodub-cast-70fa5ea/packages/web-fetch/src/cache.ts :11
import fs from 'fs'; - fs yaodub-cast-70fa5ea/packages/web-fetch/src/server.ts :14
import fs from 'node:fs'; - fs (weak) yaodub-cast-70fa5ea/packages/web-fetch/src/test.ts :15
import { writeFileSync, mkdirSync, readFileSync } from 'node:fs'; - fs yaodub-cast-70fa5ea/packages/web-ui/vite-plugin-admin-manual.ts :20
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/scripts/build-server.ts :28
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/scripts/bump-version.mjs :18
import { readFileSync, writeFileSync, readdirSync, existsSync } from 'node:fs'; - fs (weak) yaodub-cast-70fa5ea/scripts/check-local-deps.mjs :21
import { readFileSync, readdirSync, existsSync } from 'node:fs'; - fs (weak) yaodub-cast-70fa5ea/scripts/check-service.mts :24
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/scripts/check-snapshots.mjs :31
import { readFileSync } from 'node:fs'; - fs (weak) yaodub-cast-70fa5ea/scripts/deploy-service.mts :16
import fs from 'fs'; - fs (weak) yaodub-cast-70fa5ea/scripts/dev.ts :11
import { accessSync, constants, existsSync, mkdirSync } from 'fs'; - fs (weak) yaodub-cast-70fa5ea/scripts/lib/ensure-chromium.mjs :24
`pnpm --filter @getcast/web-fetch exec node -e "process.exit(require('fs').existsSync(require('playwright').chromium.executablePath())?0:1)"`, - fs (weak) yaodub-cast-70fa5ea/scripts/migrations/0.1-to-0.2/1-bare-addresses.ts :32
import { readdirSync, readFileSync, writeFileSync, existsSync, renameSync, cpSync, statSync } from 'node:fs'; - fs (weak) yaodub-cast-70fa5ea/scripts/migrations/0.1-to-0.2/2-narrow-pairing-grants.ts :22
import { copyFileSync, existsSync, readdirSync, readFileSync, renameSync, statSync, writeFileSync } from 'node:fs'; - fs (weak) yaodub-cast-70fa5ea/scripts/migrations/0.1-to-0.2/3-packets-failed-at.ts :21
import { existsSync, readFileSync } from 'node:fs'; - fs (weak) yaodub-cast-70fa5ea/scripts/migrations/0.2-to-0.3/1-acl-peers-to-allowed.ts :20
import { copyFileSync, existsSync, readdirSync, readFileSync, renameSync, statSync, writeFileSync } from 'node:fs'; - fs (weak) yaodub-cast-70fa5ea/scripts/migrations/0.2-to-0.3/2-approvals-generalized-columns.ts :29
import { copyFileSync, existsSync, readdirSync, readFileSync, statSync } from 'node:fs'; - fs (weak) yaodub-cast-70fa5ea/scripts/migrations/0.2-to-0.3/3-paired-users-to-acl.ts :24
import { copyFileSync, existsSync, mkdirSync, readdirSync, readFileSync, renameSync, statSync, writeFileSync } from 'node:fs'; - fs (weak) yaodub-cast-70fa5ea/scripts/migrations/0.2-to-0.3/4-ph-to-io.ts :34
import { copyFileSync, existsSync, readdirSync, readFileSync, renameSync, statSync, writeFileSync } from 'node:fs'; - fs (weak) yaodub-cast-70fa5ea/scripts/migrations/0.2-to-0.3/5-outbound-request-kind.ts :31
import { copyFileSync, existsSync, readdirSync, readFileSync, statSync } from 'node:fs'; - fs (weak) yaodub-cast-70fa5ea/scripts/migrations/0.3.4-to-0.3.5/1-inbound-request-kind.ts :32
import { copyFileSync, existsSync, readdirSync, readFileSync, statSync } from 'node:fs'; - fs (weak) yaodub-cast-70fa5ea/scripts/start.mjs :19
import { accessSync, constants, existsSync, mkdirSync, readdirSync, readFileSync, statSync } from 'fs'; - fs yaodub-cast-70fa5ea/tools/kill-containers.mjs :9
import { accessSync, constants } from 'fs';
shell / exec 43
- shell yaodub-cast-70fa5ea/packages/agent-kit/src/build-service.ts :4
import { execSync } from 'child_process'; - shell yaodub-cast-70fa5ea/packages/agent-kit/src/init.ts :1
import { execSync } from 'child_process'; - shell yaodub-cast-70fa5ea/packages/agent-kit/src/templates/service-skeleton.ts :11
import { spawn as childSpawn } from 'child_process'; - shell yaodub-cast-70fa5ea/packages/agent-runner/build.mjs :14
import { execFileSync } from 'child_process'; - shell yaodub-cast-70fa5ea/packages/agent-runner/src/index.ts :563
// proxy can attest it onto tool calls. Constant per spawn (single conversation). - shell (weak) yaodub-cast-70fa5ea/packages/cast/src/agent-manager-invariants.test.ts :18
import type { ChildProcess } from 'child_process'; - shell yaodub-cast-70fa5ea/packages/cast/src/agent/agent-backup.ts :12
import { execFileSync } from 'child_process'; - shell yaodub-cast-70fa5ea/packages/cast/src/agent/agent-manager.ts :9
import type { ChildProcess } from 'child_process'; - shell (weak) yaodub-cast-70fa5ea/packages/cast/src/agent/agent-service-restart.test.ts :24
const actual = await vi.importActual<typeof import('child_process')>('child_process'); - shell yaodub-cast-70fa5ea/packages/cast/src/agent/agent-service.ts :11
import { spawn, type ChildProcess } from 'child_process'; - shell yaodub-cast-70fa5ea/packages/cast/src/agent/conversation-runner.ts :29
import type { ChildProcess } from 'child_process'; - shell yaodub-cast-70fa5ea/packages/cast/src/agent/mcp-proxy.ts :14
import type { ChildProcess } from 'child_process'; - shell yaodub-cast-70fa5ea/packages/cast/src/agent/mcp-server.ts :11
import { execFile } from 'child_process'; - shell yaodub-cast-70fa5ea/packages/cast/src/agent/register-pip-tools.ts :9
import { execFile } from 'child_process'; - shell yaodub-cast-70fa5ea/packages/cast/src/config.ts :1
import { execSync } from 'child_process'; - shell (weak) yaodub-cast-70fa5ea/packages/cast/src/console-mounts.test.ts :120
// zero tools) is appended at spawn (container-runner), not here — see Fix 1. - shell yaodub-cast-70fa5ea/packages/cast/src/console/snapshot.ts :11
import { execFileSync } from 'child_process'; - shell (weak) yaodub-cast-70fa5ea/packages/cast/src/container-runner.test.ts :93
// Mock child_process.spawn - shell yaodub-cast-70fa5ea/packages/cast/src/container/container-runner.ts :5
import type { ChildProcess, ChildProcessByStdio } from 'child_process'; - shell yaodub-cast-70fa5ea/packages/cast/src/container/egress-controller.ts :20
import { spawn } from 'child_process'; - shell yaodub-cast-70fa5ea/packages/cast/src/container/mcp-transport.ts :1
import { execFileSync, spawn } from 'child_process'; - shell (weak) yaodub-cast-70fa5ea/packages/cast/src/conversations/catalog.test.ts :60
async spawn(prompt, hooks): Promise<SpawnOutcome> { - shell (weak) yaodub-cast-70fa5ea/packages/cast/src/conversations/conversation.test.ts :81
/** If set, spawn() blocks until manually resolved via runner._resolveSpawn(). */ - shell yaodub-cast-70fa5ea/packages/cast/src/conversations/conversation.ts :23
import type { ChildProcess } from 'child_process'; - shell (weak) yaodub-cast-70fa5ea/packages/cast/src/conversations/facade.test.ts :49
async spawn(prompt, hooks): Promise<SpawnOutcome> { - shell yaodub-cast-70fa5ea/packages/cast/src/conversations/runner.ts :13
* Each `spawn(prompt, hooks)` call gets a per-spawn-cycle prompt; the runner - shell yaodub-cast-70fa5ea/packages/cast/src/index.ts :1
import { execSync, execFileSync } from 'child_process'; - shell (weak) yaodub-cast-70fa5ea/packages/cast/src/pre-commit-hook.test.ts :7
import { execFileSync, spawnSync } from 'child_process'; - shell (weak) yaodub-cast-70fa5ea/packages/cast/src/prompt-assembly.test.ts :176
it('accepts a bare user identity on a cold spawn (push/scheduler targeting form)', () => { - shell (weak) yaodub-cast-70fa5ea/packages/cast/src/session-pipeline.test.ts :8
import type { ChildProcess } from 'child_process'; - shell yaodub-cast-70fa5ea/packages/ext-web-fetch/build.ts :22
import { execSync } from 'node:child_process'; - shell yaodub-cast-70fa5ea/packages/ext-web-fetch/src/index.ts :14
import { fork, type ChildProcess } from 'child_process'; - shell (weak) yaodub-cast-70fa5ea/scripts/build-server.ts :27
import { execSync } from 'child_process'; - shell (weak) yaodub-cast-70fa5ea/scripts/check-service.mts :25
import { execSync } from 'child_process'; - shell (weak) yaodub-cast-70fa5ea/scripts/dev.ts :10
import { execSync, spawn } from 'child_process'; - shell (weak) yaodub-cast-70fa5ea/scripts/lib/ensure-chromium.mjs :19
import { execSync } from 'child_process'; - shell (weak) yaodub-cast-70fa5ea/scripts/lib/run.mjs :13
import { execSync } from 'child_process'; - shell (weak) yaodub-cast-70fa5ea/scripts/migrations/0.1-to-0.2/3-packets-failed-at.ts :29
interface SqliteDb { prepare(sql: string): Stmt; exec(sql: string): void; close(): void } - shell (weak) yaodub-cast-70fa5ea/scripts/migrations/0.2-to-0.3/2-approvals-generalized-columns.ts :35
interface SqliteDb { prepare(sql: string): Stmt; exec(sql: string): void; close(): void } - shell (weak) yaodub-cast-70fa5ea/scripts/migrations/0.2-to-0.3/5-outbound-request-kind.ts :37
interface SqliteDb { prepare(sql: string): Stmt; exec(sql: string): void; close(): void } - shell (weak) yaodub-cast-70fa5ea/scripts/migrations/0.3.4-to-0.3.5/1-inbound-request-kind.ts :38
interface SqliteDb { prepare(sql: string): Stmt; exec(sql: string): void; close(): void } - shell (weak) yaodub-cast-70fa5ea/scripts/start.mjs :18
import { execSync, spawn } from 'child_process'; - shell yaodub-cast-70fa5ea/tools/kill-containers.mjs :8
import { execFileSync } from 'child_process';
network 36
- net (weak) yaodub-cast-70fa5ea/apps/site/scripts/twemoji-bundle.mjs :25
const res = await fetch(url); - net (weak) yaodub-cast-70fa5ea/apps/site/src/routes/docs/extensions/Email.tsx :217
{ name: 'ids', type: 'string[]', desc: 'Email IDs to fetch (batch). Use this or emailId.' }, - net (weak) yaodub-cast-70fa5ea/apps/site/src/routes/examples/data.ts :59
extensions: ['market-data (read-only)', 'web-fetch (X, Substacks, news)'], - net yaodub-cast-70fa5ea/packages/agent-runner/src/mcp-socket-proxy.ts :17
import http from 'http'; - net yaodub-cast-70fa5ea/packages/agent-service-base/src/mcp.ts :9
import http from 'http'; - net yaodub-cast-70fa5ea/packages/agent-service-base/src/service.ts :8
import http from 'http'; - net yaodub-cast-70fa5ea/packages/cast/src/admin/proxy.ts :12
import http from 'http'; - net yaodub-cast-70fa5ea/packages/cast/src/admin/routers/auth.ts :65
res = await fetch('https://api.anthropic.com/v1/messages', { - net yaodub-cast-70fa5ea/packages/cast/src/admin/routers/extension/calendar.ts :149
const tokenRes = await fetch('https://oauth2.googleapis.com/token', { - net yaodub-cast-70fa5ea/packages/cast/src/agent/mcp-proxy.ts :17
import http from 'http'; - net yaodub-cast-70fa5ea/packages/cast/src/agent/mcp-server.ts :14
import http from 'http'; - net yaodub-cast-70fa5ea/packages/cast/src/console/tools.ts :14
import http from 'http'; - net yaodub-cast-70fa5ea/packages/cast/src/container/mcp-transport.ts :3
import http from 'http'; - net yaodub-cast-70fa5ea/packages/cast/src/gateway/ws-server.ts :11
import type http from 'http'; - net (weak) yaodub-cast-70fa5ea/packages/cast/src/graceful-shutdown.test.ts :14
import { createServer, type Server as HttpServer } from 'http'; - net yaodub-cast-70fa5ea/packages/cast/src/lib/cast-services.ts :85
const res = await fetch(`${url}?current=${encodeURIComponent(env.version)}`, { - net yaodub-cast-70fa5ea/packages/cast/src/lib/port.ts :7
import { createServer } from 'net'; - net yaodub-cast-70fa5ea/packages/cast/src/transports/email.ts :289
for await (const msg of client.fetch(range, { uid: true, source: true }, { uid: true })) { - net yaodub-cast-70fa5ea/packages/cast/src/transports/slack.ts :438
const res = await fetch(url, { headers: { Authorization: `Bearer ${botToken}` } }); - net yaodub-cast-70fa5ea/packages/cast/src/transports/telegram.ts :319
const res = await fetch(url); - net yaodub-cast-70fa5ea/packages/cast/src/transports/web.ts :19
import type { IncomingMessage } from 'http'; - net yaodub-cast-70fa5ea/packages/ext-calendar/src/connect.ts :29
const tokenRes = await fetch(GOOGLE_TOKEN_URL, { - net yaodub-cast-70fa5ea/packages/ext-calendar/src/google.ts :4
* Token refresh is an inline fetch (no simple-oauth2 dependency). - net yaodub-cast-70fa5ea/packages/ext-email/src/client.ts :69
for await (const msg of client.fetch( - net yaodub-cast-70fa5ea/packages/ext-email/src/extension.ts :138
.describe('Email IDs to fetch (batch)'), - net yaodub-cast-70fa5ea/packages/ext-email/src/watcher.ts :373
for await (const msg of client.fetch(newUids, { envelope: true, source: true }, { uid: true })) { - net yaodub-cast-70fa5ea/packages/ext-web-fetch/src/index.ts :6
* in the MCP tool handler; the public fetch() client method applies only - net yaodub-cast-70fa5ea/packages/web-fetch/src/server.ts :11
* 3. Lazy init on first /fetch (cache, browser launched on demand by browser.ts) - net (weak) yaodub-cast-70fa5ea/packages/web-fetch/src/test.ts :165
const res = await fetch(`${serverUrl}/fetch`, { - net yaodub-cast-70fa5ea/packages/web-ui/src/admin/hooks/use-admin-chat.ts :323
const res = await fetch(`${API_BASE}/api/admin/agents/${encodeURIComponent(alias)}/chat/send`, { - net yaodub-cast-70fa5ea/packages/web-ui/src/admin/hooks/use-server-scope-chat.ts :208
const res = await fetch(`${API_BASE}${cfg.base}/send`, { - net yaodub-cast-70fa5ea/packages/web-ui/src/admin/hooks/use-session.ts :30
const res = await fetch(`${API_BASE}/api/auth/session`, { - net (weak) yaodub-cast-70fa5ea/scripts/check-snapshots.mjs :46
const res = await fetch(`${BASE}${path}?current=snapshot`, { signal: ac.signal }); - net (weak) yaodub-cast-70fa5ea/scripts/lib/ensure-chromium.mjs :40
log('Installing chromium for web-fetch (~150MB, one-time)...'); - net (weak) yaodub-cast-70fa5ea/scripts/lib/port-ready.mjs :9
import { createConnection } from 'net'; - net (weak) yaodub-cast-70fa5ea/scripts/start.mjs :20
import { createServer } from 'net';
database 26
- db (weak) yaodub-cast-70fa5ea/packages/cast/src/agent-db-events.test.ts :5
import Database from 'better-sqlite3'; - db yaodub-cast-70fa5ea/packages/cast/src/agent/agent-db.ts :10
import Database from 'better-sqlite3'; - db yaodub-cast-70fa5ea/packages/cast/src/auth/identity.ts :9
import Database from 'better-sqlite3'; - db yaodub-cast-70fa5ea/packages/cast/src/console/console-db.ts :26
import Database from 'better-sqlite3'; - db yaodub-cast-70fa5ea/packages/cast/src/gateway/gateway-db.ts :7
import Database from 'better-sqlite3'; - db (weak) yaodub-cast-70fa5ea/packages/cast/src/lib/approvals-store.test.ts :1
import Database from 'better-sqlite3'; - db yaodub-cast-70fa5ea/packages/cast/src/lib/approvals-store.ts :16
import type Database from 'better-sqlite3'; - db yaodub-cast-70fa5ea/packages/cast/src/lib/db-query.ts :8
import type { Statement } from 'better-sqlite3'; - db yaodub-cast-70fa5ea/packages/cast/src/lib/message-log-store.ts :16
import type Database from 'better-sqlite3'; - db (weak) yaodub-cast-70fa5ea/packages/cast/src/lib/owner-claims-store.test.ts :1
import Database from 'better-sqlite3'; - db yaodub-cast-70fa5ea/packages/cast/src/lib/owner-claims-store.ts :24
import type Database from 'better-sqlite3'; - db (weak) yaodub-cast-70fa5ea/packages/cast/src/lib/token-usage-store.test.ts :1
import Database from 'better-sqlite3'; - db yaodub-cast-70fa5ea/packages/cast/src/lib/token-usage-store.ts :20
import type Database from 'better-sqlite3'; - db yaodub-cast-70fa5ea/packages/cast/src/server/host-activity-log.ts :18
import Database from 'better-sqlite3'; - db yaodub-cast-70fa5ea/packages/cast/src/transports/email.ts :11
import Database from 'better-sqlite3'; - db (weak) yaodub-cast-70fa5ea/packages/ext-whatsapp/scripts/reference/sync-to-db.ts :37
import Database from 'better-sqlite3'; - db (weak) yaodub-cast-70fa5ea/packages/ext-whatsapp/src/contact-resolver.test.ts :6
import Database from 'better-sqlite3'; - db yaodub-cast-70fa5ea/packages/ext-whatsapp/src/contact-resolver.ts :23
import type Database from 'better-sqlite3'; - db yaodub-cast-70fa5ea/packages/ext-whatsapp/src/store.ts :26
import Database from 'better-sqlite3'; - db yaodub-cast-70fa5ea/packages/web-fetch/src/cache.ts :10
import Database from 'better-sqlite3'; - db (weak) yaodub-cast-70fa5ea/scripts/migrations/0.1-to-0.2/1-bare-addresses.ts :42
const Database = require('better-sqlite3') as { new (path: string): SqliteDb }; - db (weak) yaodub-cast-70fa5ea/scripts/migrations/0.1-to-0.2/2-narrow-pairing-grants.ts :31
const Database = require('better-sqlite3') as { new (path: string, opts?: { readonly?: boolean }): SqliteDb }; - db (weak) yaodub-cast-70fa5ea/scripts/migrations/0.1-to-0.2/3-packets-failed-at.ts :30
const Database = require('better-sqlite3') as { new (path: string, opts?: { readonly?: boolean }): SqliteDb }; - db (weak) yaodub-cast-70fa5ea/scripts/migrations/0.2-to-0.3/2-approvals-generalized-columns.ts :36
const Database = require('better-sqlite3') as { new (path: string): SqliteDb }; - db (weak) yaodub-cast-70fa5ea/scripts/migrations/0.2-to-0.3/5-outbound-request-kind.ts :38
const Database = require('better-sqlite3') as { new (path: string): SqliteDb }; - db (weak) yaodub-cast-70fa5ea/scripts/migrations/0.3.4-to-0.3.5/1-inbound-request-kind.ts :39
const Database = require('better-sqlite3') as { new (path: string): SqliteDb };
tool registrations 42
- conversation__push_to_channel yaodub-cast-70fa5ea/packages/cast/src/agent/mcp-server.ts :437
- conversation__end yaodub-cast-70fa5ea/packages/cast/src/agent/mcp-server.ts :473
- conversation__list_summaries yaodub-cast-70fa5ea/packages/cast/src/agent/mcp-server.ts :790
- conversation__write_summary yaodub-cast-70fa5ea/packages/cast/src/agent/mcp-server.ts :796
- file__append_feed yaodub-cast-70fa5ea/packages/cast/src/agent/mcp-server.ts :820
- file__watch_feed yaodub-cast-70fa5ea/packages/cast/src/agent/mcp-server.ts :852
- file__unwatch yaodub-cast-70fa5ea/packages/cast/src/agent/mcp-server.ts :875
- file__list_watches yaodub-cast-70fa5ea/packages/cast/src/agent/mcp-server.ts :890
- conversation__push_to_participant yaodub-cast-70fa5ea/packages/cast/src/agent/mcp-server.ts :953
- request__list yaodub-cast-70fa5ea/packages/cast/src/agent/mcp-server.ts :975
- request__close yaodub-cast-70fa5ea/packages/cast/src/agent/mcp-server.ts :1008
- agent__list_channels yaodub-cast-70fa5ea/packages/cast/src/agent/mcp-server.ts :1043
- agent__list_participants yaodub-cast-70fa5ea/packages/cast/src/agent/mcp-server.ts :1053
- agent__list_peers yaodub-cast-70fa5ea/packages/cast/src/agent/register-agent-peer-tools.ts :41
- approval__list yaodub-cast-70fa5ea/packages/cast/src/agent/register-approval-tools.ts :22
- pip__install yaodub-cast-70fa5ea/packages/cast/src/agent/register-pip-tools.ts :57
- pip__list yaodub-cast-70fa5ea/packages/cast/src/agent/register-pip-tools.ts :119
- task__schedule yaodub-cast-70fa5ea/packages/cast/src/agent/register-task-tools.ts :166
- task__list yaodub-cast-70fa5ea/packages/cast/src/agent/register-task-tools.ts :177
- task__pause yaodub-cast-70fa5ea/packages/cast/src/agent/register-task-tools.ts :183
- task__resume yaodub-cast-70fa5ea/packages/cast/src/agent/register-task-tools.ts :189
- task__cancel yaodub-cast-70fa5ea/packages/cast/src/agent/register-task-tools.ts :195
- task__list_runs yaodub-cast-70fa5ea/packages/cast/src/agent/register-task-tools.ts :201
- time__now yaodub-cast-70fa5ea/packages/cast/src/agent/register-time-tools.ts :52
- time__convert yaodub-cast-70fa5ea/packages/cast/src/agent/register-time-tools.ts :61
- configure__validate yaodub-cast-70fa5ea/packages/cast/src/console/configure/tools.ts :96
- configure__list_participants yaodub-cast-70fa5ea/packages/cast/src/console/configure/tools.ts :103
- configure__list_extension_secrets yaodub-cast-70fa5ea/packages/cast/src/console/configure/tools.ts :110
- design_manager__create_agents yaodub-cast-70fa5ea/packages/cast/src/console/design-manager/tools.ts :73
- design__validate yaodub-cast-70fa5ea/packages/cast/src/console/design/tools.ts :150
- design__agent_status yaodub-cast-70fa5ea/packages/cast/src/console/design/tools.ts :157
- design__revert_to_draft yaodub-cast-70fa5ea/packages/cast/src/console/design/tools.ts :168
- design__set_description yaodub-cast-70fa5ea/packages/cast/src/console/design/tools.ts :182
- design__request_review yaodub-cast-70fa5ea/packages/cast/src/console/design/tools.ts :193
- security__finalize_agent yaodub-cast-70fa5ea/packages/cast/src/console/security-manager/tools.ts :69
- admin__navigate yaodub-cast-70fa5ea/packages/cast/src/console/shared/admin-directives.ts :35
- conversation__push_to_channel yaodub-cast-70fa5ea/packages/cast/src/console/shared/delegate.ts :114
- agent__expire_conversations yaodub-cast-70fa5ea/packages/cast/src/console/shared/expire.ts :17
- manager__list yaodub-cast-70fa5ea/packages/cast/src/console/shared/manager-tools.ts :113
- manager__read yaodub-cast-70fa5ea/packages/cast/src/console/shared/manager-tools.ts :171
- manager__resurvey yaodub-cast-70fa5ea/packages/cast/src/console/shared/manager-tools.ts :224
- manager__events yaodub-cast-70fa5ea/packages/cast/src/console/shared/manager-tools.ts :269
install hooks 1
- prepublishOnly (suspicious) yaodub-cast-70fa5ea/packages/extension-schema/package.json :45
node -e "if(!/pnpm/.test(process.env.npm_config_user_agent||''))throw new Error('Publish with pnpm publish — publishConfig.exports rewriting is pnpm-only; a raw npm publish ships exports pointing at s
declared dependencies 12
- @clack/prompts@^1.0.1
- @types/semver@^7.7.1
- @vitest/coverage-v8@^4.0.18
- cron-parser@^5.5.0
- dotenv@^16.4.7
- esbuild@^0.27.3
- grammy@^1.40.0
- prettier@^3.8.1
- tsx@^4.19.0
- typescript@^5.7.0
- vitest@^4.0.18
- zod@^4.3.6