github TypeScript analyzed 70fa5ea

yaodub/cast

github

Your agent team, on your machine. Open-source harness for multi-user Claude agents.

maintainer
yaodub
license
MIT
first seen
2026-06-07
last seen
2026-08-23
releases · 30d
1
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 41 tools
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
skills & danger signals github-tarball
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

danger signals3

code evidence vv0.3.4 · github-tarball
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