Local-first AI agent workspace for coding, writing, design, research, and automation — one runtime for desktop GUI and TUI.
Drift inferred · capture-to-capture
- HIGH code analysis flagged committed secret ×2, dynamic code execution ×4 in KunAgent/Kun
transport stdio · http counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 1a6c8f6 · analyzer v28 · 1h ago
skills & prompt files 14
- skill KunAgent-Kun-1a6c8f6/.claude/skills/openspec-apply-change/SKILL.md
- skill KunAgent-Kun-1a6c8f6/.claude/skills/openspec-archive-change/SKILL.md
- skill KunAgent-Kun-1a6c8f6/.claude/skills/openspec-explore/SKILL.md
- skill KunAgent-Kun-1a6c8f6/.claude/skills/openspec-propose/SKILL.md
- skill KunAgent-Kun-1a6c8f6/.codex/skills/openspec-apply-change/SKILL.md
- skill KunAgent-Kun-1a6c8f6/.codex/skills/openspec-archive-change/SKILL.md
- skill KunAgent-Kun-1a6c8f6/.codex/skills/openspec-explore/SKILL.md
- skill KunAgent-Kun-1a6c8f6/.codex/skills/openspec-propose/SKILL.md
- skill KunAgent-Kun-1a6c8f6/.cursor/skills/openspec-apply-change/SKILL.md
- skill KunAgent-Kun-1a6c8f6/.cursor/skills/openspec-archive-change/SKILL.md
- skill KunAgent-Kun-1a6c8f6/.cursor/skills/openspec-explore/SKILL.md
- skill KunAgent-Kun-1a6c8f6/.cursor/skills/openspec-propose/SKILL.md
- agent-rules KunAgent-Kun-1a6c8f6/AGENTS.md
- agent-rules KunAgent-Kun-1a6c8f6/docs/AGENTS.md
danger signals9
- dynamic code execution new Function() KunAgent-Kun-1a6c8f6/src/main/services/ui-plugin-cdp-theme-controller.test.ts :88
const runFixedRuntime = new Function('document', `return ${parameters.expression}`) - dynamic code execution new Function() KunAgent-Kun-1a6c8f6/src/renderer/src/components/design/canvas/HtmlFrameOverlay.test.ts :115
const execute = new Function( - dynamic code execution new Function() KunAgent-Kun-1a6c8f6/src/renderer/src/design/design-html-quality.runtime-design-quality-findings.test.ts :204
expect(new Function(`return ${script}`)()).toEqual([]) - dynamic code execution new Function() KunAgent-Kun-1a6c8f6/src/renderer/src/design/design-token-extract.test.ts :51
const execute = new Function(`return ${TOKEN_EXTRACT_GUEST_SRC}`) - suspicious endpoint 169.254.169.254 (cloud metadata) KunAgent-Kun-1a6c8f6/kun/src/services/extension-account-broker.test.ts :297
deviceAuthorizationUrl: 'https://169.254.169.254/device' - suspicious endpoint 169.254.169.254 (cloud metadata) KunAgent-Kun-1a6c8f6/kun/tests/web-tool-provider.test.ts :423
'http://169.254.169.254/latest/meta-data/', - suspicious endpoint api.telegram.org KunAgent-Kun-1a6c8f6/src/main/telegram-runtime.ts :24
const TELEGRAM_API_BASE = 'https://api.telegram.org' - committed secret Google OAuth client secret KunAgent-Kun-1a6c8f6/kun/src/adapters/model/gemini-cli-oauth.ts :15
GOCSPX…(35 chars, redacted) - committed secret Google OAuth client secret KunAgent-Kun-1a6c8f6/kun/src/adapters/model/gemini-code-assist-model-client.ts :24
GOCSPX…(35 chars, redacted)
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 2987
filesystem 133
- fs KunAgent-Kun-1a6c8f6/kun/src/adapters/file/atomic-write.ts :2
import { mkdir, rename, rm, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/file/file-session-store.ts :1
import { appendFile, mkdir, readFile, stat } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/file/file-thread-store.ts :1
import { mkdir, readFile, readdir, rm, stat } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/hybrid/hybrid-thread-documents.ts :1
import { readFile, stat } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/hybrid/hybrid-thread-store.ts :1
import { mkdir, open, readdir, rename, rm, stat } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/model/gemini-cli-oauth.ts :2
import { readFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/model/route-pool-model-client.ts :1
import { mkdir, readFile, rename, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-bash-tool.ts :1
import { mkdir } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-file-tools.ts :1
import { constants } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-lsp-tool.ts :17
import { readFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-read-tool.ts :1
import { createReadStream } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-repo-map-tool.ts :1
import type { Dirent, Stats } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-search-tools.ts :1
import { readFile, stat } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-tool-operations.ts :1
import { existsSync } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-tool-types.ts :1
import { stat } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-tool-utils.ts :1
import { existsSync } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-verify-tool.ts :1
import { access, readFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/component-design-tool-provider.ts :2
import { mkdir, readFile, readdir, stat, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/create-plan-tool.ts :2
import { mkdir, readdir, rename, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/design-svg-tool.ts :2
import { readFile, rename, unlink, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/file-mutation-queue.ts :2
import { mkdir, readFile, realpath, rm, stat, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/im-attachment-tool.ts :1
import { realpath, stat } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/image-gen-tool-provider.ts :2
import { mkdir, readFile, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/lsp-servers.ts :2
import { existsSync } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/mcp-oauth-store.ts :6
import { chmod, mkdir, readFile, rename, rm, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/mcp-stdio-environment.ts :1
import { readdirSync, statSync } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/media-gen-tool-provider.ts :2
import { mkdir, readFile, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/office-cli-tool-provider.ts :3
import { createReadStream, existsSync } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/output-accumulator.ts :2
import { createWriteStream, type WriteStream } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/ppt-master-tool.ts :3
import { existsSync, readFileSync } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/sandbox-policy.ts :2
import type { BigIntStats } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/task-graph-tool.ts :15
import { mkdir, readFile, rename, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/windows-shell-resolver.ts :2
import { existsSync } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/workspace-path.ts :1
import { lstat, readlink, realpath } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/adapters/workspace/local-workspace-inspector.ts :1
import { existsSync } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/artifacts/artifact-store.ts :13
import { chmod, mkdir, readFile, readdir, rename, rm, writeFile, stat as fsStat, open as fsOpen } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/attachments/attachment-store.ts :2
import { chmod, mkdir, readFile, readdir, rm, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/cli/extension-cli.ts :5
import { open, mkdtemp, readFile, rm, stat } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/cli/gui-settings-bridge.ts :2
import { chmod, mkdir, readFile, rename, rm, stat, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/cli/replay-entry.ts :2
import { mkdir, readFile, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/cli/self-update.ts :3
import { createReadStream, createWriteStream } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/cli/shared-runtime.ts :2
import { closeSync, openSync } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/config/kun-config.ts :1
import { existsSync, readFileSync } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/config/project-config.ts :2
import { constants } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/delegation/delegation-runtime.ts :1
import { chmod, mkdir, readFile, readdir, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/delegation/workspace-agents.ts :1
import { constants, type Dirent } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/extensions/archive.ts :13
} from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/extensions/atomic-json.ts :1
import { readFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/extensions/bundled-extension-seeder.ts :2
import { createReadStream } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/extensions/host-process.ts :3
import { realpath } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/extensions/host-runner.ts :1
import { lstat, realpath } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/extensions/index-client.ts :2
import { mkdir, rm, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/extensions/log-writer.ts :1
import { appendFile, mkdir, rename, rm, stat } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/extensions/package-manager.ts :2
import { chmod, lstat, mkdir, readdir, rename, rm } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/extensions/state-migration-coordinator.ts :2
import { chmod, lstat, mkdir, readdir, rename, rm } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/extensions/state-store.ts :2
import { access, mkdir, readdir, rm } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/graph/graph-learning-service.ts :1
import { mkdir, readFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/graph/graph-planning-draft-store.ts :1
import { mkdir, readFile, readdir } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/graph/graph-run-index.ts :1
import { readFile, readdir } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/graph/graph-run-store.ts :2
import { mkdir, open, readFile, rm, stat } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/graph/graph-thread-reference-store.ts :1
import { mkdir, readFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/graph/graph-write-coordinator.ts :3
import { mkdir, readFile, realpath, rm } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/graph/project-agent-registry-policy.ts :3
import { realpath } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/graph/project-agent-registry-storage.ts :1
import { mkdir, readFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/graph/project-agent-registry.ts :1
import { readdir } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/hooks/builtins/design-quality-hook.ts :12
import { readFileSync } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/instructions/instruction-runtime.ts :1
import { constants } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/loop/model-step-service.ts :2
import { mkdir, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/loop/turn-attachment-service.ts :1
import { readFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/memory/memory-store.ts :1
import { chmod, mkdir, readFile, readdir, rm } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/review/git-review-target.ts :2
import { lstat, readdir, realpath } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/runtime/agent-sdk/agent-sdk-runtime-factory.ts :83
import { mkdir } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/runtime/agent-sdk/agent-sdk-runtime.ts :12
import { existsSync, realpathSync } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/runtime/delegated-session-binding.ts :2
import { mkdir, readFile, rename, rm, unlink, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/security/secret-store.ts :16
import type { Dirent } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/server/routes/migrations.ts :1
import { createReadStream } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/server/runtime-build-identity.ts :1
import { readFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/server/runtime-data-dir-lease.ts :2
import { open, readFile, rename, rm, unlink } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/server/runtime-discovery.ts :2
import { chmod, mkdir, open, readFile, rm, stat } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/server/runtime-factory.ts :1
import { chmod, mkdir, readFile, rename, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/services/background-shell-output.ts :1
import { chmod, mkdir, readFile, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/services/claude-connection-service.ts :2
import { createWriteStream } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/services/extension-credential-store.ts :2
import { chmod, mkdir, open, readFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/services/extension-host-broker.ts :2
import { readFile, readdir, realpath, stat, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/services/extension-media-archive-service.ts :2
import { createReadStream, createWriteStream } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/services/extension-media-ffmpeg-service.ts :2
import { lstat, mkdir, readdir, rename, rm, stat, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/services/extension-media-handle-service.ts :2
import { lstat, mkdir, realpath, rm, stat } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/services/extension-media-process-service.ts :2
import { access, realpath, stat } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/services/extension-visual-analysis-service.ts :2
import { mkdir, readFile, rename, rm, stat, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/services/model-request-trace-store.ts :1
import { createReadStream } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/services/official-provider-cli.ts :3
import { createWriteStream, existsSync } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/services/opencode-go-local-quota.ts :1
import { access } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/services/provider-subscription-quota.ts :2
import { readFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/services/runtime-migration-import-service.ts :2
import { createReadStream } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/services/runtime-migration-service.ts :2
import { createReadStream, createWriteStream } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/services/thread-service.ts :1
import { readFile, realpath, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/services/thread-store-doctor.ts :2
import { lstat, open, opendir } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/services/thread-store-repair.ts :2
import { constants } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/services/workspace-checkpoint-gate.ts :1
import { readFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/skills/skill-runtime.ts :1
import { constants, type Dirent } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/supplychain/publisher-trust-store.ts :1
import { readFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/telemetry/agent-observability.ts :2
import { appendFile, chmod, mkdir } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/tui/clipboard-image.ts :2
import { mkdtemp, readFile, rm, stat } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/tui/controller.ts :31
} from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/tui/file-mentions.ts :9
import { readdir } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/tui/keymap.ts :8
import { readFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/tui/operations.ts :2
import { constants } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/kun/src/tui/persistence.ts :1
import { chmod, mkdir, readFile, rename, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/tui/pi-app.ts :26
import { mkdir, unlink, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/kun/src/version.ts :2
import { readFileSync } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/packages/create-kun-extension/src/scaffold.mjs :1
import { access, cp, mkdir, readFile, readdir, rename, rm, stat, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/src/main/agent-sdk-installer.ts :12
import { createWriteStream, existsSync, mkdirSync, rmSync, chmodSync, statSync } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/src/main/antigravity-cli.ts :18
} from 'node:fs' - fs KunAgent-Kun-1a6c8f6/src/main/app-icon.ts :1
import { readFileSync } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/src/main/browser-use/browser-use-host.ts :1
import { appendFile, mkdir } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/src/main/bundled-extension-resources.ts :1
import { existsSync } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/src/main/claude-subscription-auth.ts :11
import { existsSync } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/src/main/claude-subscription-models.ts :10
import { existsSync } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/src/main/claw-schedule-mcp-config.ts :1
import { mkdir, readFile, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/src/main/cli-install-service.ts :18
} from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/src/main/credential-recovery.ts :2
import { lstat, mkdir, readFile, rename, rm } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/src/main/cursor-subscription-models.ts :2
import { existsSync } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/src/main/data-migration/archive-security.ts :2
import { mkdir, rm, statfs } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/src/main/data-migration/data-migration-controller.ts :1
import { createReadStream, createWriteStream } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/src/main/data-migration/export-inventory.ts :2
import { createReadStream } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/src/main/data-migration/export-orchestrator.ts :2
import { mkdir, rm, stat } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/src/main/data-migration/import-orchestrator.ts :2
import { mkdir, rm } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/src/main/data-migration/import-planner.ts :2
import { lstat, mkdir, readdir, readlink, realpath, rm, statfs, symlink, writeFile } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/src/main/data-migration/import-transaction.ts :9
import { lstat, rm } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/src/main/data-migration/kunpack-container.ts :1
import { constants as fsConstants, createReadStream, createWriteStream } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/src/main/data-migration/kunpack-crypto.ts :7
import { open, rm } from 'node:fs/promises' - fs KunAgent-Kun-1a6c8f6/src/main/data-migration/kunpack-zip.ts :2
import { createReadStream, createWriteStream } from 'node:fs' - fs KunAgent-Kun-1a6c8f6/src/main/data-migration/migration-reports.ts :1
import { open, mkdir, readdir, readFile, rm } from 'node:fs/promises'
shell / exec 42
- shell KunAgent-Kun-1a6c8f6/kun/src/adapters/model/gemini-cli-oauth.ts :1
import { execFile } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-bash-tool.ts :3
import { type ChildProcessWithoutNullStreams } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-tool-utils.ts :3
import { spawn, spawnSync, type ChildProcess, type SpawnOptions } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-verify-tool.ts :2
import { spawn } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/design-svg-validation.ts :213
`^(?:[A-Za-z_][\\w:.-]*\\.)?(${COMMON_SMIL_EVENT_PATTERN})([+-].+)?$`, - shell KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/lsp-client.ts :15
import { spawn, type ChildProcess } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/lsp-servers.ts :1
import { spawn } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/mcp-oauth-provider.ts :10
import { spawn } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/office-cli-tool-provider.ts :2
import { spawn, type ChildProcess } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/ppt-master-tool.ts :1
import { spawn, type ChildProcess } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/windows-shell-resolver.ts :1
import { spawnSync } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/adapters/workspace/local-workspace-inspector.ts :3
import { execFile, type ExecFileOptions } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/cli/self-update.ts :1
import { execFile, execFileSync, spawn } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/cli/shared-runtime.ts :7
import { spawn } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/extensions/host-process.ts :1
import { fork, type ChildProcess } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/graph/graph-check-verifier.ts :2
import { execFile } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/graph/graph-thread-reference-store.ts :41
fork(sourceThreadId: string, targetThreadId: string): Promise<GraphThreadReference[]> { - shell KunAgent-Kun-1a6c8f6/kun/src/graph/graph-write-coordinator.ts :1
import { execFile } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/graph/project-agent-registry-policy.ts :2
import { execFile } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/hooks/builtins/design-quality-hook.ts :41
return new RegExp(`^${escaped}$`).test(normalized) - shell KunAgent-Kun-1a6c8f6/kun/src/hooks/hook-engine.ts :1
import { spawn } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/loop/plan-mode.ts :146
* stale — e.g. carried in by a conversation fork (the fork keeps the source - shell KunAgent-Kun-1a6c8f6/kun/src/review/git-review-target.ts :1
import { execFile } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/runtime/antigravity/antigravity-cli-runtime.ts :1
import { spawn, type ChildProcess } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/security/secret-store.ts :15
import { spawn } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/services/claude-connection-service.ts :1
import { spawn } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/services/extension-media-process-service.ts :5
import { spawn, type ChildProcessByStdio } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/services/official-provider-cli.ts :1
import { spawn, type ChildProcess } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/services/provider-subscription-quota.ts :1
import { execFile } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/services/thread-service.ts :590
async fork(threadId: string, options: ForkThreadOptions = {}): Promise<ThreadRecord> { - shell KunAgent-Kun-1a6c8f6/kun/src/skills/skill-runtime.ts :987
const match = new RegExp(`^${key}:\\s*(.+?)\\s*$`, 'm').exec(yaml) - shell KunAgent-Kun-1a6c8f6/kun/src/tui/clipboard-image.ts :1
import { spawn } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/tui/controller.ts :34
import { execFile as execFileCallback } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/tui/file-mentions.ts :8
import { spawn } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/tui/operations.ts :1
import { spawn } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/kun/src/tui/pi-app.ts :25
import { spawn } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/src/main/agent-sdk-installer.ts :11
import { spawn } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/src/main/antigravity-cli.ts :8
import { spawn } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/src/main/claude-subscription-auth.ts :10
import { spawn, type ChildProcess } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/src/main/claude-subscription-models.ts :9
import { spawn } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/src/main/cli-install-service.ts :8
import { execFile } from 'node:child_process' - shell KunAgent-Kun-1a6c8f6/src/main/cursor-subscription-models.ts :1
import { spawn } from 'node:child_process'
network 21
- net KunAgent-Kun-1a6c8f6/kun/src/adapters/model/proxy-fetch.ts :1
import { request as httpRequest } from 'node:http' - net KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/image-gen-tool-provider.ts :814
return await fetch(url, { method: 'POST', ...init(includeResponseFormat, includeQuality), signal }) - net KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/mcp-oauth-provider.ts :12
import { createServer } from 'node:http' - net KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/mcp-transport.ts :264
return fetch(input, { ...init, headers: mergedHeaders }) - net KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/media-gen-tool-provider.ts :1100
return await fetch(url, init) - net KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/web-tool-provider.ts :2
import { request as httpRequest, type IncomingMessage } from 'node:http' - net KunAgent-Kun-1a6c8f6/kun/src/cli/serve-entry.ts :156
const res = await fetch(url, { - net KunAgent-Kun-1a6c8f6/kun/src/extensions/safe-network-fetch.ts :3
import { isIP, type LookupFunction } from 'node:net' - net KunAgent-Kun-1a6c8f6/kun/src/hooks/hook-config.ts :66
const response = await fetch(`${entry.baseUrl}/workflow/internal/hook-run`, { - net KunAgent-Kun-1a6c8f6/kun/src/ports/web-provider.ts :68
async fetch(request: WebFetchRequest): Promise<WebFetchResult> { - net KunAgent-Kun-1a6c8f6/kun/src/server/loopback-host.ts :1
import { isIP } from 'node:net' - net KunAgent-Kun-1a6c8f6/kun/src/server/node-http-server.ts :1
import { createServer, type IncomingMessage, type Server, type ServerResponse } from 'node:http' - net KunAgent-Kun-1a6c8f6/kun/src/services/model-connection-oauth.ts :2
import { createServer, type Server } from 'node:http' - net KunAgent-Kun-1a6c8f6/kun/src/services/model-connection-registry.ts :1067
const response = await fetch(url, { - net KunAgent-Kun-1a6c8f6/packages/extension-api/src/services.ts :242
fetch(request: NetworkRequest, options?: HostRequestOptions): Promise<NetworkResponse> - net KunAgent-Kun-1a6c8f6/src/main/browser-use/browser-use-bridge-service.ts :7
} from 'node:http' - net KunAgent-Kun-1a6c8f6/src/main/browser-use/network-policy.ts :9
} from 'node:http' - net KunAgent-Kun-1a6c8f6/src/main/claw-platform-install.ts :54
const res = await fetch(url, { - net KunAgent-Kun-1a6c8f6/src/main/claw-runtime-helpers.ts :1
import type { IncomingMessage, ServerResponse } from 'node:http' - net KunAgent-Kun-1a6c8f6/src/main/claw-runtime.ts :1
import { createServer, type IncomingMessage, type Server, type ServerResponse } from 'node:http' - net KunAgent-Kun-1a6c8f6/src/main/codex-auth.ts :1
import { createServer, type Server } from 'node:http'
secrets 1
- secrets KunAgent-Kun-1a6c8f6/kun/src/cli/replay-entry.ts :50
token: process.env.KUN_RUNTIME_TOKEN,
database 3
- db KunAgent-Kun-1a6c8f6/kun/src/adapters/hybrid/hybrid-thread-index.ts :1
import type { Database as BetterSqliteDatabase } from 'better-sqlite3' - db KunAgent-Kun-1a6c8f6/kun/src/adapters/hybrid/hybrid-thread-store.ts :3
import type { Database as BetterSqliteDatabase, Statement } from 'better-sqlite3' - db KunAgent-Kun-1a6c8f6/kun/src/services/thread-store-doctor.ts :7
import type { Database as BetterSqliteDatabase } from 'better-sqlite3'
install hooks 5
- postinstall KunAgent-Kun-1a6c8f6/package.json :72
node ./scripts/postinstall.cjs - prepack KunAgent-Kun-1a6c8f6/packages/create-kun-extension/package.json :16
npm run build - prepack KunAgent-Kun-1a6c8f6/packages/extension-api/package.json :33
npm run schema:check - prepack KunAgent-Kun-1a6c8f6/packages/extension-react/package.json :25
npm run build - prepack KunAgent-Kun-1a6c8f6/packages/extension-test/package.json :25
npm run build
declared dependencies 89
- @modelcontextprotocol/sdk@^1.29.0
- @computer-use/nut-js@^4.2.0
- @google/design.md@0.3.0
- @kun/extension-api@1.2.0
- @kun/provider-catalog@0.1.0
- @larksuiteoapi/node-sdk@^1.71.1
- @napi-rs/canvas@^0.1.100
- @tencent-weixin/openclaw-weixin@2.4.3
- @tesseract.js-data/eng@^1.0.0
- better-sqlite3@12.11.1
- bindings@1.5.0
- diff@^8.0.4
- electron-store@^10.1.0
- electron-updater@^6.8.9
- extract-zip@^2.0.1
- file-uri-to-path@2.0.0
- html-to-docx@^1.8.0
- ipaddr.js@^2.4.0
- node-pty@^1.1.0
- openclaw@file:vendor/openclaw-shim
- pdfjs-dist@^5.4.394
- proxy-agent@^8.0.2
- react@^19.0.0
- react-dom@^19.0.0
- react-markdown@^10.1.0
- remark-gfm@^4.0.1
- sharp@^0.35.3
- tesseract.js@^7.0.0
- yaml@2.9.0
- yauzl@^3.4.0
- yazl@^3.3.1
- zod@^4.4.3
- @aws-sdk/client-s3@^3.1049.0
- @codemirror/commands@^6.10.3
- @codemirror/lang-markdown@^6.5.0
- @codemirror/language@^6.12.3
- @codemirror/language-data@^6.5.2
- @codemirror/merge@^6.12.2
- @codemirror/state@^6.6.0
- @codemirror/view@^6.43.0
- @eslint/js@^10.0.1
- @floating-ui/dom@^1.7.6
- @streamdown/math@^1.0.2
- @tiptap/core@^3.26.0
- @tiptap/extension-code-block@^3.26.0
- @tiptap/extension-image@^3.26.0
- @tiptap/extension-list@^3.26.0
- @tiptap/extension-table@^3.26.0
- @tiptap/markdown@^3.26.0
- @tiptap/pm@^3.26.0
- @tiptap/react@^3.26.0
- @tiptap/starter-kit@^3.26.0
- @types/better-sqlite3@^7.6.13
- @types/html-to-docx@^1.8.1
- @types/react@^19.0.10
- @types/react-dom@^19.0.4
- @types/react-test-renderer@19.0.0
- @types/yauzl@^3.4.0
- @types/yazl@^3.3.1
- @vitejs/plugin-react@^4.3.4
- @xterm/addon-fit@^0.11.0
- @xterm/addon-web-links@^0.12.0
- @xterm/xterm@^6.0.0
- @xyflow/react@^12.11.0
- autoprefixer@^10.4.21
- electron@43.1.0
- electron-vite@^3.1.0
- eslint@^10.4.0
- eslint-plugin-react-hooks@^7.1.1
- globals@^17.6.0
- i18next@^25.4.2
- jimp@^1.6.1
- lucide-react@^0.544.0
- parse5@^7.3.0
- playwright-core@1.61.1
- postcss@^8.5.3
- qrcode.react@^4.2.0
- react-i18next@^15.7.4
- react-test-renderer@19.0.0
- rehype-harden@^1.1.8
- rehype-raw@^7.0.0
- shiki@^3.23.0
- streamdown@^2.5.0
- tailwindcss@^3.4.17
- typescript@^5.8.2
- typescript-eslint@^8.59.4
- vite@^6.2.0
- vitest@^4.1.7
- zustand@^5.0.3
clipboard 3
- clipboard shell call KunAgent-Kun-1a6c8f6/kun/src/tui/clipboard-image.test.ts :60
expect(command).toBe('wl-paste') - clipboard shell call KunAgent-Kun-1a6c8f6/kun/src/tui/clipboard-image.ts :106
'wl-paste', - clipboard shell call KunAgent-Kun-1a6c8f6/kun/src/tui/operations.ts :51
export type ClipboardMethod = 'pbcopy' | 'wl-copy' | 'xclip' | 'xsel' | 'clip.exe'
cursor-plugin 2
- opaque (low) KunAgent-Kun-1a6c8f6/.cursor/commands/opsx-apply.md
bundled .cursor/ plugin descriptor (KunAgent-Kun-1a6c8f6/.cursor/commands/opsx-apply.md) — presence-detected; review the descriptor - opaque (low) KunAgent-Kun-1a6c8f6/.cursor/skills/openspec-apply-change/SKILL.md
bundled .cursor/ plugin descriptor (KunAgent-Kun-1a6c8f6/.cursor/skills/openspec-apply-change/SKILL.md) — presence-detected; review the descriptor
transport_posture 2
- binds all interfaces (0.0.0.0) KunAgent-Kun-1a6c8f6/kun/src/server/routes/openai-model-gateway.test.ts :55
expect(ServeOptionsSchema.safeParse({ ...DEFAULT_SERVE_OPTIONS, dataDir: '/tmp/kun', host: '0.0.0.0', localModelGateway: { enabled: true } }).success).toBe(false) - binds all interfaces (0.0.0.0) KunAgent-Kun-1a6c8f6/kun/tests/contracts.test.ts :670
host: '0.0.0.0',