index.ts
commands/sandbox-toggle/index.ts
51
Lines
1520
Bytes
0
Exports
3
Imports
10
Keywords
What this is
This page documents one file from the repository and includes its full source so you can read it without leaving the docs site.
Beginner explanation
This file lives in the command layer. It likely turns a user action into concrete program behavior.
How it is used
Start from the exports list and related files. Those are the easiest clues for where this file fits into the system.
Expert explanation
Architecturally, this file intersects with shell-safety, commands. It contains 51 lines, 3 detected imports, and 0 detected exports.
Important relationships
- commands/sandbox-toggle/sandbox-toggle.tsx
- commands/add-dir/index.ts
- commands/agents/index.ts
- commands/branch/index.ts
- commands/bridge/index.ts
- commands/btw/index.ts
- commands/chrome/index.ts
- commands/clear/index.ts
- commands/color/index.ts
- commands/compact/index.ts
- commands/config/index.ts
- commands/context/index.ts
Detected exports
- No clear exports detected.
Keywords
sandboxmanagerfigurescommandsandboxiconstatustextcurrentlyenabledenabledautoallowallowunsandboxed
Detected imports
figures../../commands.js../../utils/sandbox/sandbox-adapter.js
Source notes
This page embeds the full file contents. Small or leaf files are still indexed honestly instead of being over-explained.
Full source
import figures from 'figures'
import type { Command } from '../../commands.js'
import { SandboxManager } from '../../utils/sandbox/sandbox-adapter.js'
const command = {
name: 'sandbox',
get description() {
const currentlyEnabled = SandboxManager.isSandboxingEnabled()
const autoAllow = SandboxManager.isAutoAllowBashIfSandboxedEnabled()
const allowUnsandboxed = SandboxManager.areUnsandboxedCommandsAllowed()
const isLocked = SandboxManager.areSandboxSettingsLockedByPolicy()
const hasDeps = SandboxManager.checkDependencies().errors.length === 0
// Show warning icon if dependencies missing, otherwise enabled/disabled status
let icon: string
if (!hasDeps) {
icon = figures.warning
} else {
icon = currentlyEnabled ? figures.tick : figures.circle
}
let statusText = 'sandbox disabled'
if (currentlyEnabled) {
statusText = autoAllow
? 'sandbox enabled (auto-allow)'
: 'sandbox enabled'
// Add unsandboxed fallback status
statusText += allowUnsandboxed ? ', fallback allowed' : ''
}
if (isLocked) {
statusText += ' (managed)'
}
return `${icon} ${statusText} (⏎ to configure)`
},
argumentHint: 'exclude "command pattern"',
get isHidden() {
return (
!SandboxManager.isSupportedPlatform() ||
!SandboxManager.isPlatformInEnabledList()
)
},
immediate: true,
type: 'local-jsx',
load: () => import('./sandbox-toggle.js'),
} satisfies Command
export default command