Open communication and task handoffs for AI agents — self-hosted email, task threads, approvals, and webhooks over MCP and REST. Apache-2.0.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · http
verified
reported
listed in the official MCP registry counts 25 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
mail_list_identities
-
mail_list_messages
-
mail_mark_seen
-
mail_new_identity
-
mail_read_message
-
mail_send
-
mail_wait_for
-
mail_webhook_create
-
mail_webhook_delete
-
mail_webhook_disable
-
mail_webhook_list
-
mail_webhook_test
-
notify_agent
-
notify_check
-
notify_user
-
notify_verify
-
task_claim
-
task_create
-
task_decide
-
task_get
-
task_list
-
task_list_children
-
task_release
-
task_renew
-
task_update
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 612b460 · analyzer v33 · 1d ago
danger signals12
- dynamic code execution new Function() openagentemail-openagentemail-612b460/packages/api/test/ui-assets.test.ts :80
new Function(UI_JS); - dynamic code execution new Function() openagentemail-openagentemail-612b460/packages/api/test/ui-device-load.test.ts :83
new Function( - dynamic code execution new Function() openagentemail-openagentemail-612b460/packages/api/test/ui-modal-buttons.test.ts :99
const run = new Function( - dynamic code execution new Function() openagentemail-openagentemail-612b460/packages/api/test/ui-tasks.test.ts :856
const fn = new Function( - dynamic code execution new Function() openagentemail-openagentemail-612b460/packages/api/test/ui-token-query.test.ts :365
const runner = new Function( - suspicious endpoint 1.2.3.4 openagentemail-openagentemail-612b460/packages/api/test/mcp-http.test.ts :131
expect(allowInsecureIssuerUrl('http://1.2.3.4:3100')).toBe(false); - suspicious endpoint 169.254.169.254 (cloud metadata) openagentemail-openagentemail-612b460/packages/api/test/mcp-http.test.ts :150
expect(allowInsecureIssuerUrl('http://169.254.169.254')).toBe(false); - suspicious endpoint 169.254.169.254 (cloud metadata) openagentemail-openagentemail-612b460/packages/api/test/oauth-cimd.test.ts :351
await expect(pinnedCimdFetcher('https://169.254.169.254/cimd.json')).rejects.toThrow('ssrf_blocked_ip'); - suspicious endpoint 169.254.169.254 (cloud metadata) openagentemail-openagentemail-612b460/packages/api/test/pinned-fetch-ssrf.test.ts :210
await expect(pinnedFetch('http://169.254.169.254/')).rejects.toThrow('ssrf_blocked_ip'); - suspicious endpoint 1.1.1.1 openagentemail-openagentemail-612b460/packages/api/test/webhook-delivery.test.ts :455
expect(validateWebhookUrlStatic('https://1.1.1.1/hook', { allowPrivateTargets: false }).valid).toBe(false); - committed secret OpenAI key openagentemail-openagentemail-612b460/examples/adapters/test/persisted-string-matrix.test.ts :56
sk-liv…(23 chars, redacted) - committed secret OpenAI key openagentemail-openagentemail-612b460/examples/adapters/test/r1d-evidence-matrix.test.ts :18
sk-liv…(23 chars, redacted)
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 401
filesystem 180
- fs (weak) openagentemail-openagentemail-612b460/examples/adapters/src/correlation-store.ts :1
import { constants, lstat, mkdir, open, readFile, rename, rmdir, stat, unlink, type FileHandle } from 'node:fs/promises'; - fs (weak) openagentemail-openagentemail-612b460/examples/adapters/src/fixture-store.ts :1
import { constants, lstat, mkdir, open, realpath, rename, unlink } from 'node:fs/promises'; - fs (weak) openagentemail-openagentemail-612b460/examples/adapters/src/langgraph.ts :2
import { constants, lstat, mkdir, open, realpath, rename, stat, unlink, type FileHandle } from 'node:fs/promises'; - fs (weak) openagentemail-openagentemail-612b460/examples/adapters/src/openai-agents.ts :1
import { constants, lstat, mkdir, open, readFile, realpath, rename, stat, unlink } from 'node:fs/promises'; - fs (weak) openagentemail-openagentemail-612b460/examples/adapters/src/scenario-cli.ts :1
import { mkdtemp } from 'node:fs/promises'; - fs (weak) openagentemail-openagentemail-612b460/examples/adapters/src/scenario-runner.ts :2
import { constants, lstat, mkdir, open, readFile, realpath, rename, stat, unlink } from 'node:fs/promises'; - fs (weak) openagentemail-openagentemail-612b460/examples/adapters/test/correlation-store.test.ts :3
import { access, chmod, mkdtemp, readdir, rename, symlink, writeFile } from 'node:fs/promises'; - fs (weak) openagentemail-openagentemail-612b460/examples/adapters/test/fixture-store.test.ts :3
import { chmod, mkdtemp, readFile, readdir, rename, symlink, writeFile } from 'node:fs/promises'; - fs (weak) openagentemail-openagentemail-612b460/examples/adapters/test/fixtures/race-child.ts :1
import { access, readFile, writeFile } from 'node:fs/promises'; - fs (weak) openagentemail-openagentemail-612b460/examples/adapters/test/fixtures/reconcile-child.ts :1
import { readFile, writeFile } from 'node:fs/promises'; - fs (weak) openagentemail-openagentemail-612b460/examples/adapters/test/input-history-matrix.test.ts :3
import { mkdtemp } from 'node:fs/promises'; - fs (weak) openagentemail-openagentemail-612b460/examples/adapters/test/langgraph.test.ts :3
import { chmod, lstat, mkdtemp, readFile, readdir, rename, symlink, unlink, writeFile } from 'node:fs/promises';
show 28 more
- fs (weak) openagentemail-openagentemail-612b460/examples/adapters/test/lock-boundary-matrix.test.ts :3
import { access, mkdtemp, readFile, rmdir, unlink, writeFile } from 'node:fs/promises'; - fs (weak) openagentemail-openagentemail-612b460/examples/adapters/test/openai-agents.test.ts :3
import { chmod, mkdir, mkdtemp, readFile, readdir, rename, rmdir, symlink, unlink, writeFile } from 'node:fs/promises'; - fs (weak) openagentemail-openagentemail-612b460/examples/adapters/test/persisted-string-matrix.test.ts :3
import { mkdtemp, readFile } from 'node:fs/promises'; - fs (weak) openagentemail-openagentemail-612b460/examples/adapters/test/race-process.test.ts :3
import { mkdtemp } from 'node:fs/promises'; - fs (weak) openagentemail-openagentemail-612b460/examples/adapters/test/reconcile-process.test.ts :3
import { mkdtemp, readFile, writeFile } from 'node:fs/promises'; - fs (weak) openagentemail-openagentemail-612b460/examples/adapters/test/retry.test.ts :3
import { mkdtemp } from 'node:fs/promises'; - fs (weak) openagentemail-openagentemail-612b460/examples/adapters/test/sanitize.test.ts :7
import { mkdtemp, readFile } from 'node:fs/promises'; - fs (weak) openagentemail-openagentemail-612b460/examples/adapters/test/scenario-runner.test.ts :3
import { chmod, lstat, mkdir, mkdtemp, readFile, readdir, rename, symlink, unlink, writeFile } from 'node:fs/promises'; - fs (weak) openagentemail-openagentemail-612b460/examples/listener/listener.mjs :13
import { mkdirSync, readFileSync, renameSync, writeFileSync } from 'node:fs'; - fs (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/src/config.ts :4
import { closeSync, constants, existsSync, fstatSync, openSync, readFileSync } from 'node:fs'; - fs (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/src/dedup.ts :25
} from 'node:fs'; - fs (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/src/fs-replace.ts :3
import { lstatSync, statSync } from 'node:fs'; - fs (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/src/readiness.ts :3
import { accessSync, constants, lstatSync, statSync } from 'node:fs'; - fs (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/dedup-durability.test.ts :2
import { existsSync, readFileSync, writeFileSync } from 'node:fs'; - fs (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/fixtures/fake-orca-context.mjs :7
import { appendFileSync } from 'node:fs'; - fs (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/fixtures/fake-orca.mjs :7
import { appendFileSync, writeFileSync } from 'node:fs'; - fs (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/helpers.ts :1
import { mkdtempSync, writeFileSync } from 'node:fs'; - fs (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/monitor-alert.test.ts :2
import { chmodSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'; - fs (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/proxy-template.test.ts :2
import { readFileSync } from 'node:fs'; - fs (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r10-gate.test.ts :3
import { chmodSync } from 'node:fs'; - fs (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r12-gate.test.ts :2
import { chmodSync, existsSync, writeFileSync } from 'node:fs'; - fs (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r13-gate.test.ts :2
import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'; - fs (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r14-gate.test.ts :2
import { chmodSync } from 'node:fs'; - fs (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r15-fifo-probe.mjs :4
import { mkdtempSync } from 'node:fs'; - fs (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r15-gate.test.ts :2
import { chmodSync, mkdirSync, writeFileSync } from 'node:fs'; - fs (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r15-sticky-replace.mjs :15
} from 'node:fs'; - fs (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r16-dirsync-fifo-probe.mjs :4
import { mkdtempSync, writeFileSync } from 'node:fs'; - fs (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r16-gate.test.ts :2
import { existsSync, writeFileSync } from 'node:fs';
140 more not shown — this panel samples each group; the count above is the real total.
shell / exec 60
- shell (weak) openagentemail-openagentemail-612b460/examples/adapters/test/correlation-store.test.ts :4
import { execFile } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/adapters/test/langgraph.test.ts :4
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/adapters/test/lock-boundary-matrix.test.ts :4
import { spawn } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/adapters/test/openai-agents.test.ts :4
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/adapters/test/race-process.test.ts :6
import { spawn } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/adapters/test/reconcile-process.test.ts :6
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/src/wake.ts :11
import { spawn, type ChildProcess } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/fixtures/fake-orca.mjs :6
import { spawn } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/monitor-alert.test.ts :5
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r10-gate.test.ts :2
import { spawn } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r12-gate.test.ts :5
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r13-gate.test.ts :4
import { spawnSync } from 'node:child_process';
show 28 more
- shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r15-fifo-probe.mjs :5
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r15-gate.test.ts :3
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r15-sticky-replace.mjs :16
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r16-dirsync-fifo-probe.mjs :5
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r16-gate.test.ts :3
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r16-secret-fifo-probe.mjs :5
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r16-unacked-fifo-probe.mjs :5
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r17-gate.test.ts :3
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r17-legacy-tmp-fifo-probe.mjs :5
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r18-dirsync-fifo-get-probe.mjs :5
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r18-gate.test.ts :3
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r19-dirsync-fifo-target-probe.mjs :5
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r19-gate.test.ts :3
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r21-dirsync-sticky.mjs :17
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r21-gate.test.ts :8
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r3-gate.test.ts :4
import { spawn } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r5-gate.test.ts :4
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r6-gate.test.ts :4
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r7-gate.test.ts :7
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r8-gate.test.ts :3
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/readiness-config.test.ts :3
import { spawnSync } from 'node:child_process'; - shell openagentemail-openagentemail-612b460/packages/api/dev/acceptance.mjs :10
import { spawn } from 'node:child_process'; - shell openagentemail-openagentemail-612b460/packages/api/dev/phone-acceptance.mjs :12
import { execFileSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/packages/api/scripts/compare-ui-gold.ts :11
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/packages/api/scripts/run-approval-python-verifier.mjs :2
import { spawnSync } from 'node:child_process'; - shell (weak) openagentemail-openagentemail-612b460/packages/api/scripts/verify-pairing-qr.ts :22
const probe = Bun.spawnSync([candidate, '-c', 'import cv2; cv2.QRCodeDetector()'], { - shell (weak) openagentemail-openagentemail-612b460/packages/api/test/approval-canonical-python.test.ts :7
const verification = Bun.spawnSync({ - shell (weak) openagentemail-openagentemail-612b460/packages/api/test/approval-publication.test.ts :21
const implicitWrite = Bun.spawnSync({ cmd: ['node', fixtureSyncScript], stdout: 'pipe', stderr: 'pipe' });
20 more not shown — this panel samples each group; the count above is the real total.
network 62
- net (weak) openagentemail-openagentemail-612b460/examples/adapters/test/scenario-runner.test.ts :55
const input = await scenario('input-resume'); const service = createLocalFakeService(input, environment); const identity = await service.fetch('http://127.0.0.1/v1/identities', { method: 'POST', heade - net (weak) openagentemail-openagentemail-612b460/examples/listener/listener.mjs :27
const response = await fetch(`${api}${path}`, { - net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/src/alert.ts :36
const res = await fetch(url, { - net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/src/config.ts :3
import { maxHeaderSize as runtimeMaxHeaderSize } from 'node:http'; - net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/src/monitor.ts :8
import { request as httpRequest } from 'node:http'; - net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/src/server.ts :3
import { createServer, type IncomingMessage, type Server, type ServerResponse } from 'node:http'; - net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/helpers.ts :142
const res = await fetch(`${receiver.url()}/hooks/${options.routeKey ?? 'canary'}`, { - net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/http-integration.test.ts :23
const health = await fetch(`${receiver.url()}/health`); - net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/mapping-injection.test.ts :88
const ready = await fetch(`${receiver.url()}/ready`); - net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/monitor-alert.test.ts :4
import { createServer } from 'node:http'; - net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r10-gate.test.ts :4
import { createServer } from 'node:http'; - net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r11-gate.test.ts :2
import { createConnection, createServer } from 'node:net';
show 28 more
- net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r12-gate.test.ts :3
import { createConnection } from 'node:net'; - net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r12-ipv6-probe.mjs :4
import { createServer } from 'node:http'; - net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r14-gate.test.ts :3
import { createConnection } from 'node:net'; - net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r20-gate.test.ts :3
import { createServer as createNetServer, type Socket } from 'node:net'; - net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r3-gate.test.ts :3
import { createServer } from 'node:http'; - net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r4-gate.test.ts :3
import { createServer } from 'node:http'; - net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r7-gate.test.ts :2
import { createServer } from 'node:http'; - net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r7-large-header.mjs :4
import { createConnection } from 'node:net'; - net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/r8-gate.test.ts :2
import { createServer } from 'node:http'; - net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/readiness-config.test.ts :75
const ready = await fetch(`${receiver.url()}/ready`); - net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/request-alert-contract.test.ts :17
const res = await fetch(`${receiver.url()}/hooks/canary`, { - net (weak) openagentemail-openagentemail-612b460/examples/webhook-wake/test/route-decode.test.ts :2
import { request } from 'node:http'; - net openagentemail-openagentemail-612b460/packages/api/dev/acceptance.mjs :30
const response = await fetch(`${candidate}/ui`, { signal: AbortSignal.timeout(2000) }); - net openagentemail-openagentemail-612b460/packages/api/dev/phone-acceptance.mjs :28
const response = await fetch(`${api}${path}`, { - net openagentemail-openagentemail-612b460/packages/api/dev/task-acceptance.mjs :17
const response = await fetch(`${api}${path}`, { - net openagentemail-openagentemail-612b460/packages/api/src/app.ts :91
return app.fetch(request); - net openagentemail-openagentemail-612b460/packages/api/src/lib/imap.ts :495
for await (const msg of client.fetch( - net openagentemail-openagentemail-612b460/packages/api/src/lib/mailserver-reconnect.ts :2
import { isIP } from 'node:net'; - net openagentemail-openagentemail-612b460/packages/api/src/lib/net.ts :13
import { isIP } from 'node:net'; - net openagentemail-openagentemail-612b460/packages/api/src/lib/notification-watcher.ts :1562
for await (const message of client.fetch( - net openagentemail-openagentemail-612b460/packages/api/src/lib/notify.ts :61
* immediately before fetch(). Return false to abort without sending. - net openagentemail-openagentemail-612b460/packages/api/src/lib/oauth-cimd.ts :13
import { isIP } from 'node:net'; - net openagentemail-openagentemail-612b460/packages/api/src/lib/pinned-fetch.ts :13
import http from 'node:http'; - net openagentemail-openagentemail-612b460/packages/api/src/lib/tasks-internal.ts :1736
for await (const message of client.fetch( - net openagentemail-openagentemail-612b460/packages/api/src/lib/webhook-delivery.ts :26
import { isIP } from 'node:net'; - net openagentemail-openagentemail-612b460/packages/api/src/mcp/http.ts :421
mcpHandler.fetch(sdkRequest, { - net openagentemail-openagentemail-612b460/packages/api/src/ui/client/api.js :136
var response = await fetch(path, init); - net openagentemail-openagentemail-612b460/packages/api/src/ui/client/app.js :625
var response = await fetch('/ui/api/session', {
22 more not shown — this panel samples each group; the count above is the real total.
secrets 17
- secrets (weak) openagentemail-openagentemail-612b460/examples/adapters/src/openai-agents.ts :165
const authorized = dependencies.authorized ?? Boolean(process.env.OPENAI_API_KEY); if (!authorized) return { status: 'skipped-no-key' }; - secrets (weak) openagentemail-openagentemail-612b460/examples/listener/listener.mjs :17
const key = process.env.OPENAGENTEMAIL_API_KEY; - secrets openagentemail-openagentemail-612b460/packages/api/dev/phone-acceptance.mjs :17
const adminKey = process.env.PHONE_ACCEPTANCE_ADMIN_KEY; - secrets openagentemail-openagentemail-612b460/packages/api/dev/task-acceptance.mjs :11
const adminKey = process.env.TASK_ACCEPTANCE_ADMIN_KEY; - secrets openagentemail-openagentemail-612b460/packages/api/src/mcp/client.ts :299
options?.sendSourceSecret ?? process.env.TASK_SIGNING_SECRET ?? process.env.SMTP_PASS; - secrets (weak) openagentemail-openagentemail-612b460/packages/api/test/notification-log.test.ts :14
process.env.TASK_SIGNING_SECRET = 'notify-log-test-secret'; - secrets (weak) openagentemail-openagentemail-612b460/packages/api/test/notify.test.ts :15
process.env.NTFY_ADMIN_PASSWORD = 'ntfy-admin-secret'; - secrets (weak) openagentemail-openagentemail-612b460/packages/api/test/send-history.test.ts :15
const originalEnvTaskSecret = process.env.TASK_SIGNING_SECRET; - secrets (weak) openagentemail-openagentemail-612b460/packages/api/test/send-log.test.ts :13
process.env.TASK_SIGNING_SECRET = 'send-log-test-secret'; - secrets (weak) openagentemail-openagentemail-612b460/packages/api/test/task-lease-sigkill.test.ts :11
process.env.TASK_SIGNING_SECRET = FIXTURE_SIGNING_SECRET; - secrets (weak) openagentemail-openagentemail-612b460/packages/api/test/webhook-delivery.test.ts :7
process.env.TASK_SIGNING_SECRET = '01234567890123456789012345678901'; - secrets (weak) openagentemail-openagentemail-612b460/packages/api/test/webhook-mcp.test.ts :7
process.env.TASK_SIGNING_SECRET = '01234567890123456789012345678901';
show 5 more
- secrets (weak) openagentemail-openagentemail-612b460/packages/api/test/webhook-sink.test.ts :7
process.env.TASK_SIGNING_SECRET = '01234567890123456789012345678901'; - secrets (weak) openagentemail-openagentemail-612b460/packages/api/test/webhook-store.test.ts :7
process.env.TASK_SIGNING_SECRET = '01234567890123456789012345678901'; - secrets (weak) openagentemail-openagentemail-612b460/packages/api/test/webhooks-route.test.ts :7
process.env.TASK_SIGNING_SECRET = '01234567890123456789012345678901'; - secrets openagentemail-openagentemail-612b460/packages/mcp/src/main.ts :24
const apiKey = process.env.OPENAGENTEMAIL_API_KEY; - secrets (weak) openagentemail-openagentemail-612b460/packages/mcp/test/tools.test.ts :42
process.env.OPENAGENTEMAIL_API_KEY = "test-key";
tool registrations 25
- mail_new_identity openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :341
- mail_list_identities openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :392
- mail_list_messages openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :404
- mail_read_message openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :436
- mail_mark_seen openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :456
- mail_wait_for openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :480
- mail_send openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :528
- notify_user openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :556
- notify_agent openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :571
- notify_check openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :592
- notify_verify openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :608
- task_create openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :621
show 13 more
- task_list_children openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :658
- task_list openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :675
- task_get openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :690
- task_update openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :711
- task_decide openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :731
- task_claim openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :747
- task_renew openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :763
- task_release openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :780
- mail_webhook_list openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :797
- mail_webhook_create openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :812
- mail_webhook_delete openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :844
- mail_webhook_test openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :859
- mail_webhook_disable openagentemail-openagentemail-612b460/packages/api/src/mcp/tools.ts :874
install hooks 3
- prepack openagentemail-openagentemail-612b460/packages/mcp/package.json :21
node ../api/scripts/sync-approval-publication.mjs --check - prepublishOnly openagentemail-openagentemail-612b460/packages/mcp/package.json :22
bun run check:approval-publication && bun run build - prepublishOnly openagentemail-openagentemail-612b460/packages/setup/package.json :16
bun run build
declared dependencies 8
- @langchain/core@1.1.48
- @langchain/langgraph@1.4.13
- @langchain/langgraph-checkpoint-sqlite@1.0.4
- @openai/agents@0.17.0
- zod@4.2.0
- @types/node@22.13.4
- tsx@4.23.13
- typescript@5.7.3
obfuscation 1
- dynamic require()/import() openagentemail-openagentemail-612b460/packages/api/test/wait-clock-fallback-warn.test.ts :34
const mod = await import(`../src/lib/wait-clock.ts?warn_once=${Date.now()}`);
transport_posture 3
- network-listening, binds all interfaces, no auth detected openagentemail-openagentemail-612b460/examples/webhook-wake/test/r15-gate.test.ts :52
expect(() => parseFileConfig({ ...base, listen: { host: '0.0.0.0', port: 0 } })).toThrow( - network-listening, binds all interfaces, no auth detected openagentemail-openagentemail-612b460/examples/webhook-wake/test/r21-gate.test.ts :236
expect(() => parseFileConfig({ ...base, listen: { host: '0.0.0.0', port: 0 } })).toThrow( - network-listening, binds all interfaces, no auth detected openagentemail-openagentemail-612b460/examples/webhook-wake/test/r3-gate.test.ts :315
const report = inspectReadiness(testConfig({ listen: { host: '0.0.0.0', port: 0 } }));